AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

UPDATE befehl im SQL

Ein Thema von cell · begonnen am 13. Jul 2005 · letzter Beitrag vom 13. Jul 2005
Antwort Antwort
cell

Registriert seit: 5. Jul 2005
Ort: Ebensee
171 Beiträge
 
Delphi 4 Standard
 
#1

UPDATE befehl im SQL

  Alt 13. Jul 2005, 12:36
hab ein problem mit dem update befehl der befehl soll von einem memofeld eingelesen werden

Delphi-Quellcode:
var
   Bemerk: string;
begin
     if InputQuery('Bemerkung ändern','Bemerkung:',Bemerk) then
        begin
        mobemerkung.Lines.Clear;
        mobemerkung.Lines.Append(Bemerk)
        [i]with DataModule1 do[/i]
             begin
                  Query.close;
                  Query.SQL.Clear;
                  Query.SQL.Text:= updatesql('Friktionstest','Bemerkung',Bemerk,'');
                  Query.execsql;
                  while not Query.Eof do
                  Query.Close;
             end;
        end
     else
end;
normalerwiese müsste er mir das updaten oder ??
ein problem hat er mit dem with DataModul1 do

[edit]
Operation oder semikolon fehlt
das ist der fehler
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: UPDATE befehl im SQL

  Alt 13. Jul 2005, 12:41
Und wiedermal fehlt ein Semikolon!

-> mobemerkung.Lines.Append(Bemerk);

Nachtrag:
Auch hinter dem else würde ein Semikolon hingehören, aber das geht weil vor end keines sein "muß". Du solltest dich wirklich erstmal mit der Syntax vertraut machen. Dazu gibt es normalerweise auf der Delphi-CD sehr gute Sprachmanuals als PDF!

Noch'n Nachtrag:
Als Tip für die Zukunft. Die delphi-Tags erlauben leider keine Formatierung mit BBCodes. Stattdessen solltest du für solche Fälle das pre/code-Tag verwenden! Beispiel:
Code:
var
   Bemerk: string;
begin
     if InputQuery('Bemerkung ändern','Bemerkung:',Bemerk) then
     begin
        mobemerkung.Lines.Clear;
        mobemerkung.Lines.Append(Bemerk)
        [color=red][b]with DataModule1 do[/b][/color]
        begin
...
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: UPDATE befehl im SQL

  Alt 13. Jul 2005, 12:41
Zitat von cell:
Delphi-Quellcode:
var
   Bemerk: string;
begin
     if InputQuery('Bemerkung ändern','Bemerkung:',Bemerk) then
        begin
        mobemerkung.Lines.Clear;
        mobemerkung.Lines.Append(Bemerk)
        [i]with DataModule1 do[/i]
             begin
                  Query.close;
                  Query.SQL.Clear;
                  Query.SQL.Text:= updatesql('Friktionstest','Bemerkung',Bemerk,'');
                  Query.execsql;
                  while not Query.Eof do // Blödsinn
                  Query.Close; // Blödsinn
             end;
        end
     else
end;
ein problem hat er mit dem with DataModul1 do
Welches Problem hat er mit DataModule1?
Die Zeilen mit "Blödsinn" brauchst du nicht, da du ein ExecSQL machst. Danach ist Query auf jeden Fall geschlossen.
Und ob dein Statement richtig ausgeführt wird, hängt davon ab, wie das Funktionsergebnis von "updatesql" aussieht.

Falls du dann noch Transaktionskontrolle machst, fehlt auch noch ein Commit. Aber davon gehe ich mal nicht aus.

//EDIT: Habe dein Edit erst jetzt gesehen. Der Teil hat sich also erledigt.
Peter
  Mit Zitat antworten Zitat
cell

Registriert seit: 5. Jul 2005
Ort: Ebensee
171 Beiträge
 
Delphi 4 Standard
 
#4

Re: UPDATE befehl im SQL

  Alt 13. Jul 2005, 12:42
des gibts ja ned bin i wirklich so blind

thx
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: UPDATE befehl im SQL

  Alt 13. Jul 2005, 12:44
Mach mal ne Pause und geh an die frische Luft. Das hilft und spart dir mit Sicherheit Zeit.
Peter
  Mit Zitat antworten Zitat
13. Jul 2005, 12:46
Dieses Thema wurde von "alcaeus" von "Datenbanken" nach "Object-Pascal / Delphi-Language" verschoben.
Das Semikolon gehoert natuerlich nicht zu SQL, also gehoert die Frage auch nicht nach Datenbanken
cell

Registriert seit: 5. Jul 2005
Ort: Ebensee
171 Beiträge
 
Delphi 4 Standard
 
#7

Re: UPDATE befehl im SQL

  Alt 13. Jul 2005, 13:26
die form wird zwar gestartetaber beim ausfürhren des sql befehls kommt ein fehler
ungültiger feldname
das ist der sql befehl
Delphi-Quellcode:
function updatesql (tabellenname, feldname, aenderung, whereanweisung :string) :string;
//------------------------------------------------------------------------------
// UPDATE Funktion
//------------------------------------------------------------------------------
var
   ant: string;
begin
     ant :='UPDATE ' + tabellenname;
     ant :=ant + ' SET ' + feldname;
     ant :=ant + '=' + aenderung;
     if whereanweisung <> 'then
        ant :=ant + ' WHERE ' + whereanweisung;
     result:= ant;
end;
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#8

Re: UPDATE befehl im SQL

  Alt 13. Jul 2005, 13:31
... das ist jetzt SQL ... hingegen die erste Frage nicht.

In diesem Fall wirst du wohl den Feldnamen überprüfen müssen (case-sensitive?!). Jedenfalls sehe ich nix, was an der SQL-Syntax syntaktisch falsch wäre.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: UPDATE befehl im SQL

  Alt 13. Jul 2005, 13:34
Wer weiß schon, was in WhereAnweisung drin steht...

Delphi-Quellcode:
ant := 'UPDATE ' + tabellenname;
ant := ant + ' SET ' + feldname;
ant := ant + '=' + QuotedStr(aenderung); // das hilft bei char feldern
if whereanweisung <> 'then
  ant := ant + ' WHERE ' + whereanweisung;
result := ant;
Grüße vom marabu
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#10

Re: UPDATE befehl im SQL

  Alt 13. Jul 2005, 13:40
Zitat von marabu:
Wer weiß schon, was in WhereAnweisung drin steht...
Ich ging davon aus:Query.SQL.Text:= updatesql('Friktionstest','Bemerkung',Bemerk,''); ... der marabu ist übrigens ein ganz sympathischer "Vogel"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz