Delphi Ado sql NOT LIKE
Dobrý den, prosím mohl by mi někdo poradit, jaká je syntaxe při použití klíčového slova NOT LIKE v ADO databázi ? Dotaz
poznamka LIKE '%kr%'
mi funguje bez problémů, ovšem pokud chci použít
poznamka NOT LIKE '%kr%'
, tak mi to vyhazuje chybu "Argumenty mají chybný typ, jsou mi mimo přijatelný rozsah nebo vzájemně kolidují." Moc děkuji za odpověď.
Syntax je správna a funguje.
Otázka je: ako máš postavený SQL dotaz, ako a na akú DB sa pripájaš?
Toto vypovedá o čom?
Omlouvám se, připojuji se k databázi MS Access a zatím jsem to testoval tak, že jsem k ADOTable připojil tabulku a použil AdoTable.Filter, což mi na všechny dotazy funguje, ale s tím NOT LIKE prostě ne Chci tím vybrat všechny záznamy, které neobsahují 'kr'. Díky za odpověď.
Aha, Ty používaš tabuľku nie SQLQuery...
Potom podľa ADO dokumentácie nie je možne použiť NOT operátor pri filtrovaní záznamov.
Musíš to riešiť zrejme inak.
Tak to není moc potěšující informace Nemá někdo prosím nápad, jak to vyřešit? Jde mi o to, abych při každém filtrování nemusel načítat celý dataset, což při větším množství dat zabere mnohem víc času :( Jde prostě o to, abych mohl filtrovat záznamy takto: Má na začátku,Nemá na začátku,Má na konci,Nemá na konci,Obsahuje,Neobsahuje. Moc díky za každý nápad.
Skús to takto: poznamka <> '%kr%', alebo si to ošetri v udalosti OnFilterRecord:
Úplne najednoduhšie a najlepšie je to spraviť pomocou SQL dotazu - musíš ale použiť TADOQuery nie TADOTable...
Díky za návrh, vyzkouším. Já to zkoušel i s ADOQuery, ale zdálo se mi, že čas při vykonávání SELECT * FROM Tabulka WHERE poznamka NOT LIKE '%kr%' je delší než když použiji na otevřený dataset filtr.