TIBQuery에 보면..UpdateObject라는 것이 있습니다.
여기다.. 필요로 하는 IBUpdateSQL을 연결시키고..
IBUpdateSQL을 더블 클릭하시면..
SQL 구문을 만들 수 있습니다.
필요하면.. 직접 입력해도 되지만..
업데이트를 원하는 테이블을 선택하고..
Key Field, Update Field등을 선택한구..
그냥 Generate를 누르면..
기본적인 내용은 다 만들어집니다.
그런후에는 그냥 edit,applyupdate등의 메소드를 그냥 쓰면 됩니다.
아마도 Generate 해서 SQL구문을 만들어주는 것을 안하시거나..
updateobject에 연결을 안시키신듯..
최명렬 님이 쓰신 글 :
: 조준회 님이 쓰신 글 :
: : UpdateSQL을 연결시키면..
: :
: : edit,append,applyupdate등의 메소드를 사용하여
: : 입력,수정,삭제등을 할 수 있습니다.
: :
: : updatesql은 바로 이런 edit,append,등에 대한 sql이 생성됩니다.
: : 당연히 select 구문은 없습니다.
: :
: : select 구문은 query에서 해주면 됩니다.
: :
: :
: :
: 제가 TEST 해볼려구 짠 소스인데
: CANNOT UPDATE (NO UPDATE QUERY) 라는 ERROR MESSAGE 가 나오네요
: TIBQUERY 와 TIBUPDATESQL연결을 이렇게 한게 맞는지?
: 어떻게 연결하는지 감이 잘안오는데 소스좀 보고 도와 주시면 감사 하겠습니다
:
:
: // CachedUpdate 설정
: IBQuery1->CachedUpdates =true;
: //link
: IBQuery1->UpdateObject =IBUpdateSQL;
:
: IBQuery1->Close();
: IBQuery1->SQL->Clear();
: IBQuery1->SQL->Add("select * from spl where jobno=:ijobno");
: IBQuery1->Prepare();
: IBQuery1->ParamByName("ijobno")->AsString=Edit1->Text; //
: if(IBQuery1->Prepared)
: IBQuery1->Open();
: Edit2->Text=IBQuery1->FieldValues["NAME"];
: Edit2->Text=Edit2->Text+"1";//NAME 값을 변경
: // 여기까진 잘됨
: try
: {
: IBQuery1->Edit();
: IBQuery1->FieldValues["NAME"]=Edit2->Text;
: IBQuery1->Post();
: }
: catch(Exception &e)
: {
: ShowMessage(e.Message );// 실행하면 ERROR MESSAGE 발생
: // CANNOT UPDATE (NO UPDATE QUERY)
: }
|