Arsip: String Error pada saat Filtering DB

 
user image
more 13 years ago

ansr

Ada kasus seperti ini... komponen Data base yang dipakai TDBF Delphi 7 Aku mo filter field company_name string yang dimasukan Edi's Brokoli
 
var
  strFilter : string;
begin
  strFilter := Quotedstr(Edit1.text);
  showmessage (strFilter);
  dbf1.filter := 'company_name = ' + strFilter;
  dbf1.filtered := true;
end;
hasil nya... message -> 'Edi''Brokoli' ketika masuk filter.... muncul error project prj1.exe raised exception class EParserException with message 'Missing operator between ''Edi'' and ''Edi'''...... kalo di help delphi.... 'You''ll see' hasilnya menjadi You'll see, akan tetapi tidak berlaku untuk kasus diatas ini.. mohon pencerahannya....
user image
more 13 years ago

irosyidi

strFilter := Quotedstr(Edit1.text);
gak usah pake qutedstr-lah...ngapan udah string kok di ambil string...
user image
more 13 years ago

ImanD

@irosyidi
gak usah pake qutedstr-lah
bro tuh masalah bukan pada Quotedstr karena hasil dari itu tadi memang string tapi pas masuk ke filter itu tetep musti make Qutedstr, masalah hanya di inputan az. @ansr coba inputannya lansung az bukan 'Edi''Brokoli' tapi Edi Brokoli,
'Missing operator between ''Edi'' and ''Edi'''
filter justru bingung dia temukan string Edi ga diapit am '' yang seharus 'Edi'.
kalo di help delphi.... 'You''ll see' hasilnya menjadi You'll see, akan tetapi tidak berlaku untuk kasus diatas ini..
klo ini jelas beda am kasus diatas, klo didalam Edit itu akan ditulis apa yang tertulis di Edit tetapi klo sample itu baru akan akan di proses yang menghasilkan string. (cth: misalkan Edit2.Text:='Jum''at; ni sample sederhana,

procedure Button1Click(Sender: TObject);
begin
  ShowMessage(Edit1.Text); //pastikan di Edit1 properties Text terisi Jum'at
  Edit2.Text:='Jum''at';
  ShowMessage(Edit2.Text); 
end
smoga bercerah
user image
more 13 years ago

ansr

@ImanD Terimakasih atas pencerahannya...... Tadinya aku mo masukan apostrope, ternyata hasilnya seperti itu...... akhirnya kata temenku... coba pake wilcard untuk menfilter secara parsial..... syntaknya seperti ini......

  dbf1.Filter := 'Company_Name =  '+QuotedStr(''+edit1.Text +' ');
  dbf1.FilterOptions := ;
  dbf1.Filtered := True;
filter akan berfungsi dimana data company_Name dan Edit1 uppercase
user image
more 13 years ago

ImanD

filter akan berfungsi dimana data company_Name dan Edit1 uppercase
kenapa ga di seting az FilterOption-nya

dbf1.FilterOptions :=[foCaseInsensitive]
user image
more 13 years ago

ansr

@ImanD: kenapa ga di seting az FilterOption-nya

dbf1.FilterOptions :=[foCaseInsensitive]
udah pernah dicoba. tapi gak berhasil. hasil filter gak ada yang nyangkut satupun.....
user image
more 13 years ago

ImanD

No Partial Compare dah dicoba?

dbf1.FilterOptions:=[foCaseInsensitive,foNoPartialCompare]
user image
more 13 years ago

ansr

@ImanD: No Partial Compare dah dicoba?

dbf1.FilterOptions:=[foCaseInsensitive,foNoPartialCompare]
saya coba edit1 charcase di ubah dari uppercase ke normal.... terus di run.... masukan beberapa. karakter.... hasilnya sama gak ada yang nyangkut... terus aku coba masukan karakter dengan huruf capital... sebagian bisa...bahkan tidak bisa secara parsial harus satu kata utuh... kesimpulan sementara.. charcase antara Edit1 dan field di db harus sama... CMIIW :D edited... ada yang ketinggalan... filteroption := ;
more ...
  • Pages:
  • 1
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com