Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#17

AW: Probleme mit SELECT und Strings

  Alt 21. Jan 2014, 13:00
Wer steht denn im IN_Data?
Wenn da z.B. \ oder ' drin vorkommt, dann muß es ja knallen.

Warum nehmt Ihr keine Parameter.
Und Makros.
Der Name des Feldes kann ja nicht als Parameter übergeben werden.

Nja, oder alternativ die entsprechenden Funktion zum Quoten der Strings und Namen verwenden.

Delphi-Quellcode:
Query.Sql.Text = 'SELECT * FROM &Table WHERE &Field = :Data';
Query.MacroByName('Table').Value := QuoteIdent(IN_Table); // Ich glaub Makros werden nicht automatisch gequotet, bzw. ich bin mir relativ sicher.
Query.MacroByName('Field').Value := QuoteIdent(IN_Table + 'Name');
Query.ParamByName('Data').AsString := IN_Data;
Query.Open;

Query.Sql.Text = 'SELECT * FROM ' + QuoteIdent(IN_Table) + ' WHERE ' + QuoteIdent(IN_Table + 'Name') + ' = ' + QuoteText(IN_Data);
Query.Open;

// QuoteIdent und QuoteText entsprechend anpassen ... die heißen ja überall irgendwie anders
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat