Q&A

  • 한 Query의 값을 다른 Query에 이용할 때 에러 발생
여러 델 고수님들 꼭 좀 조언 바랍니다.

이 코딩은 거의 한달
5  COMMENTS
  • Profile
    바사기몬 2000.08.23 03:51
    1 Query1.Close;

    2 Query1.SQL.Clear;

    3 Query1.SQL.Add('update booking set bookunitprice = :s3');

    4 Query1.SQL.Add('where bookitem = :s4 and itemnameno = :s5');

    5 Query1.ParamByName('s3').Value := Query2.FieldByName('ItemUP').asFloat;

    6 Query1.ParamByName('s4').Value := DBEdit2.text;

    7 Query1.ParamByName('s5').Value := Query1.FieldByName('itemnameno').asInteger;

    8 Query1.ExecSQL;



    ....... 7번째 라인이 Query1 에서 'itemnameno'값을 가져오시네염...

    직접 돌려보진 않았지만 이게 원인 인듯 합니다....



    그럼 이만...



  • Profile
    임형호 2000.08.22 22:36
    에러문장을 올려주시면 많은 분들이 쉽게 도움을 주실수 있을텐데요



    이건영 wrote:

    > 여러 델 고수님들 꼭 좀 조언 바랍니다.

    > 이 코딩은 거의 한달
  • Profile
    이건영 2000.08.22 23:00
    답변 감사합니다.. 이렇게 나오는데.. 원인을 잘 모르겠군요..



    Project ORAconBooking.exe raised exception class EDatabaseError with message 'Query1: Cannot perform this operation on an open dataset'. Process stopper. Use Step or Run to continue





    임형호 wrote:

    > 에러문장을 올려주시면 많은 분들이 쉽게 도움을 주실수 있을텐데요

    >

    > 이건영 wrote:

    > > 여러 델 고수님들 꼭 좀 조언 바랍니다.

    > > 이 코딩은 거의 한달
  • Profile
    김경식 2000.08.23 00:57
    이건영 wrote:

    > 답변 감사합니다.. 이렇게 나오는데.. 원인을 잘 모르겠군요..

    >

    > Project ORAconBooking.exe raised exception class EDatabaseError with message 'Query1: Cannot perform this operation on an open dataset'. Process stopper. Use Step or Run to continue

    >

    >

    > 임형호 wrote:

    > > 에러문장을 올려주시면 많은 분들이 쉽게 도움을 주실수 있을텐데요

    > >

    > > 이건영 wrote:

    > > > 여러 델 고수님들 꼭 좀 조언 바랍니다.

    > > > 이 코딩은 거의 한달
  • Profile
    이건영 2000.08.23 00:57
    우선 답변 감사 드립니다. 허나 그래도 안되는데요..

    혹시 제가 Query1을 UpdateSQL을 썼는데.. 그것 때문에 안되는 것 아닙니까? 아무래도 설정상에 문제 때문에 Error가 나는것 같은데.. 에러가 같거든요..



    허나.. 도와주신 답변은 참 감사합니다. 덕분에 Close에 대해 좀 더 확실히 안 것 같습니다.



    procedure TForm1.DBEdit2Change(Sender: TObject);

    var select_no : integer;

    begin

    Query2.Close;

    Query2.SQL.Clear;

    Query2.SQL.Add('select ItemUP from Library where ItemName = :s2');

    Query2.ParamByName('s2').AsString := DBEdit2.text;

    Query2.Open;

    // Edit3.text := FloatToStr(Query2.FieldByName('ItemUP').AsFloat);

    select_no := Query1.FieldByName('itemnameno').asInteger;

    Query1.Close;

    Query1.SQL.Clear;

    Query1.SQL.Add('update booking set bookunitprice = :s3');

    Query1.SQL.Add('where bookitem = :s4 and itemnameno = :s5');

    Query1.ParamByName('s3').Value := Query2.FieldByName('ItemUP').asFloat;

    Query1.ParamByName('s4').Value := DBEdit2.text;

    Query1.ParamByName('s5').AsInteger := select_no;

    Query1.ExecSQL;

    end;



    김경식 wrote:

    > 이건영 wrote:

    > > 답변 감사합니다.. 이렇게 나오는데.. 원인을 잘 모르겠군요..

    > >

    > > Project ORAconBooking.exe raised exception class EDatabaseError with message 'Query1: Cannot perform this operation on an open dataset'. Process stopper. Use Step or Run to continue

    > >

    > >

    > > 임형호 wrote:

    > > > 에러문장을 올려주시면 많은 분들이 쉽게 도움을 주실수 있을텐데요

    > > >

    > > > 이건영 wrote:

    > > > > 여러 델 고수님들 꼭 좀 조언 바랍니다.

    > > > > 이 코딩은 거의 한달