|
AnsiString City="zip1="+Edit2->Text;
이 부분에서
AnsiString City="zip1='"+Edit2->Text+"'";
가 되야 하지 않을까요.문자니까요.
임양규 님이 쓰신 글 :
: 안녕하세요???
:
: 빌더를 시작한지 몇일 안된 초보입니다.
:
: 공부를 하다가...간단한거 하나라도 만들어 봐야지.하는 생각으로
:
: 간단한 우편번호 검색 프로그램을 만들어 볼려고 합니다..
:
: 근데...문제에 봉착했어요...일단 db 연결까지는 잘됐습니다.
:
: 기본적인 생각은...
:
: 시도 구 동 아파트
: [edit2] [edit3] [edit4] [ edit5 ] <검색버튼>
:
: 대충 위와 같은 화면을 구성해서....만약에 동으로 우편번호를 찾고자 하면, 동의 에디트 박스에 한글로 입력한 후, 검색버튼을 누르면 우편번호 db에서 검색해서 db grid로 화면에 뿌려주는 겁니다.
:
:
: 근데...한글로 구 에디트 박스에 용산 을 입력하면..."Project2.exe raised exception class EDBEngine error with message invalid field name" 이라고 나오면서 안돼요...
:
: 즉, 어느 에디트 박스에다가 한글로 입력하면....위의 에러 메시지가 나옵니다...
:
: db의 필드명은 zip0, zip1, zip2, zip3, zip4 로 구성되어 있습니다.
:
: 아무리 해도 잘 안되네요....
:
:
: 소스는 아래와 같습니다..
:
: void __fastcall TForm1::Btn_QueryClick(TObject *Sender)
: {
: AnsiString Where="where";
: AnsiString And ="and";
:
: AnsiString City="zip1="+Edit2->Text;
: AnsiString Gu="zip2="+Edit3->Text;
: AnsiString Dong="zip3="+Edit4->Text;
: AnsiString Apt="zip4="+Edit5->Text;
: Query1->Close();
:
: Query1->SQL->Clear();
: Query1->SQL->Add("SELECT * FROM zip.db");
:
: if ((Edit2->Text!="") || (Edit3->Text!="") || (Edit4->Text!="") || (Edit5->Text!=""))
: {
: Query1->SQL->Add(Where);
:
: if (Edit2->Text!="") {
: Query1->SQL->Add(City);
: Query1->SQL->Add(And);
: }
: if (Edit3->Text!="") {
: Query1->SQL->Add(Gu);
: Query1->SQL->Add(And);
: }
: if (Edit4->Text!="") {
: Query1->SQL->Add(Dong);
: Query1->SQL->Add(And);
: }
: if (Edit5->Text!="") {
: Query1->SQL->Add(Apt);
: Query1->SQL->Add(And);
: }
:
: Query1->SQL->Delete(Query1->SQL->Count-1);
: }
:
: Query1->Open();
:
:
: }
:
: 아시는 분들 답변 좀 바랍니다..
:
: 읽어주셔서 감사합니다...
:
|