Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: MS SQL Ado Locate

  Alt 3. Okt 2011, 14:28
Ich bevorzuge es auch, soetwas per SQL zu lösen. Daher hab ich schon lange nicht mehr mit Locate gearbeitet.

2 Gedanken:
Du verwendest loCaseInsensitive, was bedeutet, dass locate intern Deine Suchwerte umbauen muss. Hab mir die Routine noch nie angesehen, aber vermutlich passiert hier sowas wie UpperCase(:parameter) auf beiden Seiten, oder AnsiUpperCase. An der Stelle würde ich mal graben.
'&' sowie '*' wird gerne intern als Wildcard eingesetzt, wie '%' und '_' in SQL. Weiß nicht, ob das bei ADODataset auch so ist. Falls ja, musst Du Dich vielleicht mal um das Zusammenspiel von LoPartialKey, Escape Sequenzen usw. kümmern. Ich hab mal irgendwo gelesen, dass '#' intern als Escape Sequence oder wahlweise Stringdelimiter verwendet wird und ebenfalls problematisch sein kann-als Suchwert.

Das sind lediglich Ideen, hab es wie gesagt schon ewig nicht mehr verwendet. Vielleicht hilft es weiter, wenn Du Dich wirklich um SQL drücken willst oder musst.
Gruß, Jo
  Mit Zitat antworten Zitat