Thema: Delphi Endlosschleife mit MySQL

Einzelnen Beitrag anzeigen

Benutzerbild von Icarus666
Icarus666

Registriert seit: 17. Sep 2005
10 Beiträge
 
#1

Endlosschleife mit MySQL

  Alt 14. Dez 2005, 18:16
Datenbank: MySQL • Version: 4.1.14 • Zugriff über: ZEOSlib
Hallo!
In folgender Function möchte ich die ID einer Detail-Tabelle zu einem Wert auslesen.
Falls der Wert nicht existiert soll er angelegt und die id zurückgegeben werden.

Delphi-Quellcode:
function TDataModule1.GetNameID(Table, Value: String): Integer;
begin
  Result := 0;
  if Table <> 'then
    with UpdateQuery do
    begin
      SQL.Clear;
      SQL.Add('SELECT id FROM '+ Table +' WHERE name = :value');
      ParamByName('value').AsString := Value;
      Open;
      if RecordCount > 0 then // Existiert !
        Result := FieldByName('id').AsInteger
      else
      begin // Anlegen !
        SQL.Clear;
        SQL.Add('INSERT INTO '+ Table +' (name) VALUES (:value)');
        ParamByName('value').AsString := Value;
        ExecSQL;
        ApplyUpdates;
        Result := GetNameID(Table, Value);
      end;
    end;
end;
Soweit klappt alles. Wenn ich allerdings als Value 'Waiting for darkness, Dancing at the crowded e.p' übergebe erhalte ich eine Endlosschleife.
Wahrscheinlich liegt es an dem Komma, vielleicht aber auch nicht.
Ich habe versucht den Parameter im ersten Statement in Hochkommas zu stellen, bekomme aber eine Fehlermeldung 'Parameter nicht gefunden...'

WASNU?
  Mit Zitat antworten Zitat