|
유앤아이 현지 아빠입니다.
음 제가 로케이트 쓰면서 특별히 그런 문제는 못 보았습니다.
먼가 다른데 문제가 이ㅆ는건 아닌지요~
그리고 아래 코드는 2 가지 문제점이 눈에 띄는군요~
박재욱.사탕 님이 쓰신 글 :
: 최보현님께서 주신 답변을 생각해보구서는
: 이렇게 생각을 했습니다. " 아~ 그러면 첫번째 레코드로 커서를 옮기고 Locate를 해야겠꾸나.."
:
: 소스를 올려보겠습니다..
: TLocateOptions SearchOptions;
: bool locateSuccess;
: AnsiString szLocate;
:
: SearchOptions = SearchOptions << loCaseInsensitive;
: szLocate = Edit2->Text;
:
: ADOTable1->First();
: //Form1->Caption = ADOTable1->FieldByName("NAME")->AsString;
==============>
첫번째문제 필드의 이름이 대문자네요~ NAME --> Name
: //ShowMessage(Form1->Caption);
: ADOTable1->Locate("Name",szLocate,SearchOptions);
: if(locateSuccess) {
==============>
두번째 문제 : locateSuccess 을 얻은데가 없군요~
locateSuccess = ADOTable1->Locate("Name",szLocate,SearchOptions);
이렇게 선행되야~~~~~~~
: ADOTable1->Edit();
: ADOTable1->FieldByName("Name")->AsString = Edit1->Text;
: ADOTable1->Post();
: }
: else
: ShowMessage("찾는 내용 없어요.");
:
: ADOTable1->Close();
:
: 이렇게 했어요~~~ 그래도 결과는 찾는 내용이 없다구 나오구요,,,,
: 위 소스중에서 주석처리한 두줄 있자나요...
: 그거 주석으로 안하고 실행해보면...
: 원하는 레코드를 찾더라구요....
:
: 이걸 어떻게 받아들이면 될까요???
마지막으로 데이타베이스에서 Name 과 같은 필드는 위험합니다.
Name 이라는 문자가 데이타베이스의 문법일수 있기 때문입니다.
특히 쿼리 같은거 만들땐 [] 를 꼭 쒸워 주어야 합니다.
그럼
|