AGB  ·  Datenschutz  ·  Impressum  







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

ADOQuery - SQLQuery ??

Ein Thema von xReva · begonnen am 18. Apr 2017 · letzter Beitrag vom 24. Apr 2017
Antwort Antwort
xReva

Registriert seit: 15. Nov 2016
20 Beiträge
 
#1

AW: ADOQuery - SQLQuery ??

  Alt 18. Apr 2017, 16:35
Ich habe das ganze jetzt so gemacht und es treten auch keine Probleme auf allerdings wird in der Datenbank auch nichts verändert.


Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin

ADOQuery1.SQL.Text := 'Select * from taccounts';
ADOQuery1.Open;
ADOQuery1.Append; //ein leerer Datensatz hinzu
ADOQuery1.FieldByName('nEMID').AsInteger := 4;
ADOQuery1.FieldByName('sUsername').AsString := 'Hallo';
ADOQuery1.FieldByName('sUserPass').AsString := 'Hallo1';
ADOQuery1.FieldByName('sUserPassSalt').AsString := 'Hallo1';
ADOQuery1.FieldByName('sEmail').AsString := 'Hallo1';
ADOQuery1.FieldByName('nAuthID').AsInteger := 4;
ADOQuery1.FieldByName('sIP').AsString := '127.0.0.1';
ADOQuery1.Post; //abschicken
ADOQuery1.ExecSQL;

end;
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: ADOQuery - SQLQuery ??

  Alt 18. Apr 2017, 16:53
Weil ein "Select" Daten von einer DB holt,
und ein "Insert" oder "Update" Daten(Änderungen) in sie schreibt.
(vgl #16 )

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
xReva

Registriert seit: 15. Nov 2016
20 Beiträge
 
#3

AW: ADOQuery - SQLQuery ??

  Alt 18. Apr 2017, 17:14
oh man ja ergibt sinn aber wie muss ich das dann schreiben? so?

Delphi-Quellcode:
ADOQuery1.SQL.Text := 'Insert into * from taccounts';
ADOQuery1.Open;
ADOQuery1.Append; //ein leerer Datensatz hinzu
ADOQuery1.FieldByName('nEMID').AsInteger := 4;
ADOQuery1.FieldByName('sUsername').AsString := 'Hallo';
ADOQuery1.FieldByName('sUserPass').AsString := 'Hallo1';
ADOQuery1.FieldByName('sUserPassSalt').AsString := 'Hallo1';
ADOQuery1.FieldByName('sEmail').AsString := 'Hallo1';
ADOQuery1.FieldByName('nAuthID').AsInteger := 4;
ADOQuery1.FieldByName('sIP').AsString := '127.0.0.1';
ADOQuery1.Post; //abschicken
ADOQuery1.ExecSQL;
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
794 Beiträge
 
#4

AW: ADOQuery - SQLQuery ??

  Alt 18. Apr 2017, 17:26
Nein, das Erste (#18) war schon richtig. Nur das ExecSQL ist zuviel.

Evtl. fehlt noch ein ADOQuery1.Connection.CommitTrans;

Geändert von Olli73 (18. Apr 2017 um 17:43 Uhr)
  Mit Zitat antworten Zitat
xReva

Registriert seit: 15. Nov 2016
20 Beiträge
 
#5

AW: ADOQuery - SQLQuery ??

  Alt 18. Apr 2017, 17:53
So gibt er ne Fehlermeldung aus : No Transaction active



Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin

ADOQuery1.Connection.CommitTrans;
ADOQuery1.SQL.Text := 'Select * from taccounts';
ADOQuery1.Open;
ADOQuery1.Append; //ein leerer Datensatz hinzu
ADOQuery1.FieldByName('nEMID').AsInteger := 4;
ADOQuery1.FieldByName('sUsername').AsString := 'Hallo';
ADOQuery1.FieldByName('sUserPass').AsString := 'Hallo1';
ADOQuery1.FieldByName('sUserPassSalt').AsString := 'Hallo1';
ADOQuery1.FieldByName('sEmail').AsString := 'Hallo1';
ADOQuery1.FieldByName('nAuthID').AsInteger := 4;
ADOQuery1.FieldByName('sIP').AsString := '127.0.0.1';
ADOQuery1.Post; //abschicken



end;
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
794 Beiträge
 
#6

AW: ADOQuery - SQLQuery ??

  Alt 18. Apr 2017, 17:55
So gibt er ne Fehlermeldung aus : No Transaction active
Das muss natürlich ans Ende. Aber ob ADO überhaupt standardmäßig automatisch Transaktionen startet weiß ich nicht.
  Mit Zitat antworten Zitat
xReva

Registriert seit: 15. Nov 2016
20 Beiträge
 
#7

AW: ADOQuery - SQLQuery ??

  Alt 18. Apr 2017, 18:00
Am ende hatte ich das schon er sagt immer das keine Transaction aktiv ist. Ohne das Command funktioniert es zwar fehlerfrei allerdings wird auch kein Db eintrag hinzugefügt.


Mfg Lucas

Delphi-Quellcode:
ADOQuery1.SQL.Text := 'Select * from taccounts';
ADOQuery1.Open;
ADOQuery1.Append; //ein leerer Datensatz hinzu
ADOQuery1.FieldByName('nEMID').AsInteger := 4;
ADOQuery1.FieldByName('sUsername').AsString := 'Hallo';
ADOQuery1.FieldByName('sUserPass').AsString := 'Hallo1';
ADOQuery1.FieldByName('sUserPassSalt').AsString := 'Hallo1';
ADOQuery1.FieldByName('sEmail').AsString := 'Hallo1';
ADOQuery1.FieldByName('nAuthID').AsInteger := 4;
ADOQuery1.FieldByName('sIP').AsString := '127.0.0.1';
ADOQuery1.Post; //abschicken
ADOQuery1.Connection.CommitTrans;
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
989 Beiträge
 
Delphi 6 Professional
 
#8

AW: ADOQuery - SQLQuery ??

  Alt 18. Apr 2017, 18:05
Hmm..

ADO braucht BeginTrans..
Ein ComitTrans brauchst DU auch nur machen, wenn Du bei ADO vorher ein BeginTrans gemacht hast.

Aber, wieso gehst Du denn nun den Weg mit Append/Post?

Ein Insert ist immer performanter, außer, Du hast die Datenmenge bereits zur Anzeige in z.B. eines DBGrids offen.

In meinem ersten post (#6) habe ich Dir eine korrigierte und lauffähige Lösung aufgezeigt.
Schade, dass Du sie nicht verwendest.

Hast Du überhaupt Schreibrechte auf die MySQL-DB?

Mit der Zeile
  if (SQLQuery1.ExecSQL() = 1) then begin // Prüfen, ob der Insert erfolgreich war hättest Du auch eine Prüfung, ob der Insert erfolgreich gewesen ist.
  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 15:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz