Einzelnen Beitrag anzeigen

djmasi

Registriert seit: 9. Jun 2004
Ort: Leipzig
105 Beiträge
 
Delphi 7 Enterprise
 
#1

SQL-Abfrage mit Sonderzeichen

  Alt 17. Jul 2004, 14:08
Hallo Leute,

sitze gerade an ner kleinen DB (Firebird). Meine Abfrage funktionieren eigentlich wunderbar, ausser die Abfragebedingung enthält Sonderzeichen wie z.B. ein '.

Delphi-Quellcode:
procedure TFMain.DoQuerySong(Field: String;Node: TTreeNode);
var
  SQL: String;
begin
  //main sql query
  Screen.Cursor := crSQLWait;
  SQL := 'select * from SONG ';
  SQL := SQL + 'inner join ARTIST on ARTIST.ID = SONG.ARTIST_ID ';
  SQL := SQL + 'inner join SONG_DETAIL on SONG_DETAIL.SONG_ID = SONG.ID ';
  SQL := SQL + 'inner join GENRE on GENRE.ID = SONG.GENRE_ID ';
  SQL := SQL + 'inner join LANGUAGE on LANGUAGE.ID = SONG.LANGUAGE_ID ';
  SQL := SQL + 'where '+ Field + ' = ''' + Node.Text + ''' order by SONG';
  ...
Das ist ein Teil meiner Abfrage, die ich dynamisch an ein TpFIBDataSet sende. Aufgerufen wird das ganze hier:
Delphi-Quellcode:
  if Node.Parent = NdArtists then
  begin
    PGenre.Hide;
    PQuery.Align := alClient;
    DoQuerySong('ARTIST.ARTIST', Node);
    PQuery.Show;
    Exit;
  end;
Wenn aber z.B. ein Artist wie "Lil' Kim" abgefragt wird, ist ja das ' zu viel. Rauslassen kann ich's ja aber auch net. Hat vielleicht jemand 'ne Idee?

Danke
Thomas Maßmann
  Mit Zitat antworten Zitat