|
안녕하세요???
빌더를 시작한지 몇일 안된 초보입니다.
공부를 하다가...간단한거 하나라도 만들어 봐야지.하는 생각으로
간단한 우편번호 검색 프로그램을 만들어 볼려고 합니다..
근데...문제에 봉착했어요...일단 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();
}
아시는 분들 답변 좀 바랍니다..
읽어주셔서 감사합니다...
|