|
TADOTable의 Locate를 사용해서 특정 레코드를 찾을려구 합니다.
일단 Locate의 함수정의를 도움말에서 가지고 오면요..
virtual bool __fastcall
Locate(const AnsiString KeyFields, const System::Variant &KeyValues, TLocateOptions Options);
입니다.
첫번째로
TLocateOptions SearchOptions;
bool locateSuccess;
SearchOptions = SearchOptions << loCaseInsensitive;
ADOTable1->Locate("Name","홍길동",SearchOptions);
if(locateSuccess) {
ADOTable1->Edit();
ADOTable1->FieldByName("Name")->AsString = Edit1->Text;
ADOTable1->Post();
}
else
ShowMessage("찾는 내용 없습니다.");
이렇게 하면 이상없이 작동을 하구요..
두번째로
TLocateOptions SearchOptions;
bool locateSuccess;
AnsiString szLocate;
SearchOptions = SearchOptions << loCaseInsensitive;
szLocate = Edit2->Text;
ADOTable1->Locate("Name",szLocate,SearchOptions);
if(locateSuccess) {
ADOTable1->Edit();
ADOTable1->FieldByName("Name")->AsString = Edit1->Text;
ADOTable1->Post();
}
else
ShowMessage("찾는 내용 없습니다");
이렇게 하면 찾는 레코드가 없다고 나옵니다. 물론 Edit2에는 "홍길동"을 입력을 했습니다.
우찌 하면 좋을까요????
|