Entwickler-Ecke

Datenbanken - Problem mit TSQLQuery Parameter in Delphi 2007


MadRaven - Do 15.11.07 18:01
Titel: Problem mit TSQLQuery Parameter in Delphi 2007
Hallo an Alle!

ich bekomme immer eine ziemlich verwirrende Exeption, wenn ich in meinem SQLQuery einen Parameter verwende.
Hier mal Meldung aus dem Debugger:
Erste Gelegenheit für Exception bei $7C812A5B. Exception-Klasse TDBXError mit Meldung 'Feature not implemented'. Prozess BlackfishSQLEditor.exe (2344)

Ich mach eigentlich nichts anderes als mir einen TSQLQuery zur Laufzeit zu erzeugen, setze im alle Werte die er wissen muss, erzeuge mir im Query einen Parameter, den ich dann im SQL String verwende, weise dem Paremeter noch einen Wert zu und schwubsdiwups, sollte der Query eigentlich los legen. Nur leider wird mir jedes mal erzählt, das die Funktion nicht implementiert ist und diese Fehlermeldung verwirrt mich etwas. :)
Ich hab mir jetzt jedemenge Beispielcode im Inet angesehen, wo ebenfalls ein TSQLQuery mit Parametern verwendet wird und ich kann einfach den Fehler nicht finden. Eigentlich müsste es genau so funktionieren. Leider finde ich auch im Inet keine weiteren Information im zusammenhang mit einem TSQLQuery und genau dieser Meldung.

Egal in welcher Form ich einen TSQLQuery benutze, sobald ich einen Parameter einsetze, läuft er auf diesen Fehler. Hat einer von euch da eine Idee, was ich hier falsch mache?



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TForm2.Button4Click(Sender: TObject);
begin
  button4.Enabled:= false;
  button5.Enabled:= True;

  Query:= TSQLQuery.Create(Nil);
  With Query do begin
    SQLConnection:= TESTDB;
    Params.CreateParam(ftstring, 'WERT', ptInput);
  end;
end;

procedure TForm2.Button6Click(Sender: TObject);
begin
    with Query do begin
      SQL.Add('INSERT INTO TABELLE1 (TEST1) VALUES(:WERT);');
      ParamByName('WERT').AsString:= Edit2.Text;
      ExecSQL();
    end;
end;


MfG


Mitmischer 1703 - Do 15.11.07 18:35

Du createst Query mit (nil)?! Lass das doch weg, oder gib z.B. Form1 an :nixweiss: