Einzelnen Beitrag anzeigen

Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
434 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Vista Suche in Delphi nutzen

  Alt 12. Feb 2009, 12:11
Zitat von nahpets:
Zitat von stOrM:
edit: Mist noch vergessen, würde nicht normalerweise, wenn es ein Problem mit dem SQL String wäre eine Meldung kommen die das beeinhaltet? sowas in der Art wie Fehler in SQL ..... anstellen von "unbekannter Fehler"?
Da ich vom MS-SQL-Server die Fehlermeldung "Fehler in der Nähe von...' gewohnt bin, ist "unbekannter Fehler" nicht unbedingt als gravierende Verschlechterung zu betrachten

Okay, bin mal Deinem Link gefolgt. Sagen wir mal so: Die dort beschriebene Abfragesprache hat (auf den ersten Blick) Ähnlichkeiten mit SQL, man sollte aber nicht vom bekannten SQL darauf schließen, dass Bekanntes hier auch verwendbar sein könnte.

Gib' doch mal bitte
Delphi-Quellcode:
qry.SQL.Text := pSQL;
ShowMessage(pSQL);
qry.Active := True; // hier kracht es aber gewaltig!
aus und schau, ob das noch ein SQL-Statement ist, das den Vorgaben der MSDN entspricht. Was passiert, wenn Du folgendes ausprobierst?
Delphi-Quellcode:
pQuery := 'SELECT Top 5 System.ItemPathDisplay FROM SYSTEMINDEX';
qry.SQL.Text := pQuery;
qry.Active := True;
Also Test ein Query gelassen wie es war, der SearchApi QueryHelper hat dann folgendes daraus gemacht:

SELECT "System.ItemUrl", "System.FileName" FROM "SYSTEMINDEX" WHERE CONTAINS(*,'"SELECT*"',1031) AND CONTAINS(*,'"Top*"',1031) AND CONTAINS(*,'"5*"',1031) AND ("System.FileName" LIKE 'System.ItemPathDisplay%OR CONTAINS(*,'"System*"',1031) AND CONTAINS(*,'"ItemPathDisplay*"',1031)) AND CONTAINS(*,'"FROM*"',1031) AND CONTAINS(*,'"SYSTEM*"',1031) AND CONTAINS(*,'"INDEX*"',1031) Dann hab ich mal diesen getestet spasseshalber: SELECT Top 5 System.ItemPathDisplay FROM SYSTEMINDEX System das ergab dann folgendes:

SELECT "System.ItemUrl", "System.FileName" FROM "SYSTEMINDEX" WHERE CONTAINS(*,'"SELECT*"',1031) AND CONTAINS(*,'"Top*"',1031) AND CONTAINS(*,'"5*"',1031) AND ("System.FileName" LIKE 'System.ItemPathDisplay%OR CONTAINS(*,'"System*"',1031) AND CONTAINS(*,'"ItemPathDisplay*"',1031)) AND CONTAINS(*,'"FROM*"',1031) AND CONTAINS(*,'"SYSTEM*"',1031) AND CONTAINS(*,'"INDEX*"',1031) AND CONTAINS(*,'"System*"',1031) Naja alles das gleiche es krackt nach wie vor
  Mit Zitat antworten Zitat