Einzelnen Beitrag anzeigen

AndreDXE3

Registriert seit: 19. Jun 2014
3 Beiträge
 
#7

AW: MySQL Abfrage mit Delphi XE3 und Sonderzeichen

  Alt 19. Jun 2014, 20:47
Kann man das nicht mal pinnen?
Oder als automatische Anwort auf alle Datenbankfragen bzw. automatische Rückfrage: "Verwenden Sie (SQL-)Parameter?"; wenn nicht: "Warum?"
die genaue Abfrage, die ich brauche, ist sowas wie
where forename in ("Marie Geneviève","xxx",...,"xxyz");

der eine Name davon ist direkt aus der Datenbank, würde also als Parameter per where-clausel übergeben werden können; die weiteren Namen ergeben sich aus String-Operationen aus dem ersten Namen; also hab ich doch wieder das Problem, daß ich irgendeinen string mit Sonderzeichen nutzen muß ...
falls mit SQL-Parametern irgendeine where-clausel gemeint ist ...

Edit: da ich bei Ihrem Namen grad was von XE6 sehe - XE3 kann nur MySQL mit dem richtigen veralteten 32-Bit-MySQL-Treiber + veralteter MySQL-Version - ist das bei XE6 jetzt anders?

Edit2:
hab jetzt mal mit

tempClientDataSet.Params.CreateParam(ftString, 'forename', ptInput);

tempClientDataSet.Params.ParamByName('forename').A sString := 'Marie Geneviève';
sqlstring:='SELECT * FROM xxx;';
tempSQLDataSet.CommandText := sqlstring;

den richtigen Datensatz gekriegt, mit einer zweiten Abfrage dann den nächsten;
gibt es mit Parametern auch die Möglichkeit, statt einer =-Abfrage von Feldern eine in- oder eine like-Abfrage abzuschicken?

Bei einem Versuch mit
tempClientDataSet.Params.CreateParam(ftString, 'forename1', ptInput);
tempClientDataSet.Params.CreateParam(ftString, 'forename2', ptInput);
...
sqlstring:='SELECT * FROM xxx where forename in (:forename1,:forename2);';

kam leider nicht das Gewünschte heraus.

Geändert von AndreDXE3 (20. Jun 2014 um 14:57 Uhr)
  Mit Zitat antworten Zitat