Entwickler-Ecke
Datenbanken - SQL Update einer Tabelle
Silvia - Mo 04.07.05 16:33
Titel: SQL Update einer Tabelle
Hallo,
ich möchte gern ein Update auf ein Tabellenfeld erzeugen, aber wie ich es im moment habe funzt es nett!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| ADOQuery1.SQL.Clear; with ADOQuery1 do begin with SQL do begin Clear; Text:='UPDATE Tabellenname SET Feldname = '+Name+''; tet:=ExecSQL(); end; end; |
Was mache ich falsch?
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt.
Robert.Wachtel - Mo 04.07.05 16:42
Titel: Re: SQL Update einer Tabelle
Silvia hat folgendes geschrieben: |
[...] ich möchte gern ein Update auf ein Tabellenfeld erzeugen, aber wie ich es im moment habe funzt es nett!
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| ADOQuery1.SQL.Clear; with ADOQuery1 do begin with SQL do begin Clear; Text:='UPDATE Tabellenname SET Feldname = '+Name+''; tet:=ExecSQL(); end; end; |
Was mache ich falsch? |
Das klassische WITH-Problem. Der Bezeichner Name wird in diesem Fall nicht als Deine Variable sondern als Eigenschaft von ADOQuery1 vom Compiler interpretiert.
btw: Was soll das +''; hinter Name? Schau Dir im Bedarfsfall mal die Funktion AnsiQuotedStr an.
btw2: "Funzt nett" ist keine sehr aussagekräfige Fehlermeldung, um es mal gemässigt auszudrücken.
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt.
Silvia - Mo 04.07.05 17:24
Ok,
jetzt habe ich es geändert in:
Delphi-Quelltext
1: 2: 3:
| ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text:='UPDATE Tabellenname SET Tabellenfeld = '+ Name +''; ADOQuery1.Open; |
und bei ADOQuery1.Open; erscheint die Fehlermeldung das Parameter Name kein Standartwert hat? Häää!!
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt.
Robert.Wachtel - Mo 04.07.05 17:55
Silvia hat folgendes geschrieben: |
[...] und bei ADOQuery1.Open; erscheint die Fehlermeldung das Parameter Name kein Standartwert hat? |
Was steht in Name drin? Warum beantwortest Du meine Frage nicht oder benutzt AnsiQuotedStr nicht?
Silvia - Mo 04.07.05 18:03
AnsiQuotedStr kapiere ich nicht! wie sieht der Code dann aus!
Robert.Wachtel - Mo 04.07.05 18:04
Delphi-Quelltext
1:
| ADOQuery1.SQL.Text:='UPDATE Tabellenname SET Tabellenfeld = ' + AnsiQuotedStr(Name); |
btw: Delphi hat auch eine Hilfe.
Silvia - Mo 04.07.05 18:16
Fehlermeldung: Nicht genügend wirkliche Parameter!
Robert.Wachtel - Mo 04.07.05 18:20
Silvia hat folgendes geschrieben: |
Fehlermeldung: Nicht genügend wirkliche Parameter! |
Ja, stimmt, da habe ich den zweiten Parameter vergessen. Diesen wirst Du nach Studium der Hilfe zu AnsiQuotedStr bestimmt selber hinzufügen können.
Silvia - Mo 04.07.05 18:51
Ok, danke!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!