Q&A

  • 여러건을 동시에 입력할때의 쿼리문?
새해 복 많이 받으세요.^^

거래내역을 여러건 입력받아서 한꺼번에 인서트시키는 방법을 사용하려고 하는데 쿼리문을 어찌해야 할지 도저히 감이 안잡혀서 문의드립니다.
for문을 사용해서 돌려야 할지... ㅜㅜ

with dm1.Qinputtrade do begin
Close;
with sql do begin
clear;
add('insert into trade(tradedate, goodsname, clientname, tradeamount, price)');
add('   values(:td, :gn, :cn, :ta, :pr)');
parambyname('td').asstring:=labelededit1.text;
parambyname('gn').asstring:=labelededit2.text;
parambyname('cn').asstring:=labelededit3.text;
parambyname('ta').asstring:=labelededit4.text;
parambyname('pr').asfloat:=currencyedit1.value;
end;
dm1.Qinputtrade.ExecSQL;
application.messagebox('저장되었습니다.', '저장 확인!', MB_OK);
end;

예를 들어 위와 같이 쿼리문을 한다고 하면, 거래내역을 여러건 동시에 입력할때 거래일자(tradedate)만 빼고 바뀌질 않습니까? 그리고 에디터박스를 아래로 쭉 늘어놓고 입력된만큼만 저장하려고 할때는 또 어떻게 해야하는지. ㅜㅜ

좀 도와주세요. 검색을 해도 뾰족한 방법을 찾지못해 문의드립니다.

그럼. 다들 수고하시길.
3  COMMENTS
  • Profile
    KDDG_ZZOM 2003.01.03 18:55
    인서트문은 한번에 한번뿐이 안될겁니다...
    루프문을 이용하셔서 처리하시는게 맞는것같습니다...

    즐프하세요...

  • Profile
    열심히 2003.01.04 01:45
    임시테이블에 자료를 임시로 저장해 놓고 쿼리를 통해 한번에 넣어 줄수 있습니다..

    형식은 insert into trade(tradedate, goodsname, clientname, tradeamount, price)

    여기까지는 아래와 같고 데이터를 넣어주는 부분에다가 select문을 넣어주는것이죠 그리하여...

    insert into table('','','') select문

    이렇게 되는 것이죠..지금 테스트를 할수 없어 이렇게 하면 되는지는 모르겠지만 반드시 여러건을 이런식으로 넣을수 있습니다. 테스트 해보시고

    위의 작업을 하기전에 원하시는 자료를 임시테이블에 넣어야합니다..

    그리하여 쿼리를 이용해 인서트 하는것이죠..횡설수설하지만

    내용은 간단한것이니 위와 같이 해보세염

  • Profile
    초보비애 2003.01.04 03:51
    감사합니다.