[ vula @ 13.01.2007. 13:13 ] @
Da li je ko koristio TADOQuery odnosno TADODataSet filter? Prolazi mi ovo: Code: TADOCommand* command = new TADOCommand(this); TADODataSet* dataSet = new TADODataSet(this); command -> CommandText = "SELECT * FROM STUDENT;"; dataSet -> Recordset = command -> Execute(); dataSet -> Filtered = false; dataSet -> Filter = "SIFRA_STUDENTA = " + cbbSifra -> Text; dataSet -> Filtered = true; ali ne i ovo Code: command -> CommandText = "SELECT * FROM STUDENT;"; dataSet -> Recordset = command -> Execute(); dataSet -> Filtered = false; dataSet -> Filter = "PREZIME_STUDENTA LIKE '" + cbbPrezime -> Text + "%'"; dataSet -> Filtered = true; Stvar je u tome sto ja zelim da napravim filter koji ce filterisati Bazu Podataka i raditi na OnChange() event od TComboBox polja i kada korisnik unese jedno slovo prezimena u TComboBox da se isfiltrira Baza Podataka da se TComboBox popuni samo onim prezimenima koja pocinju sa nekim unesenim slovom. To mi prolazi kada u OnChange() stavim da svaki put poziva Bazu Podataka i da iznova filtrira ovako: Code: void TfrmStudent::cbbPrezimeChange(TObject *Sender) { command -> CommandText = "SELECT PREZIME FROM STUDENT WHERE PREZIME LIKE '" + cbbPrezime -> Text + "%';"; dataSet -> Recordset = command -> Execute(); cbbPrezime -> Items -> Add(dataSet -> Fields -> Field[1] -> AsString); } Ali na taj nacin imam veliki broj obracanja Bazi Podataka!?! To zelim da izbjegnem filtrirajuci TADODataSet!?! Ono sto mene u sustini interesuje jeste da li se operator LIKE moze postavljati u Filter od TADODataSet? Ili mora samo ,,=''?! Dakle, nije mi proslo dataSet -> Filter = "NAZIV_STUDENTA LIKE '" + cbbPrezime -> Text + "%'"; Hvala. Pozdrav |