![]() |
Re: UPDATE Funktion SQL mit Firebird
Soll also heißen,
wenn ich diesen UPDATE Befehl direkt im OI der Query zuweise, brauche ich nur noch die Parameter senden. Allerdings, wenn ich die Parameter auch direkt der Query zuweise, kommt immer der Fehler, das die Parameter nicht bekannt sind. |
Re: UPDATE Funktion SQL mit Firebird
Zitat:
Später werden nur noch die Parameter gesendet und auf die vorbereitete Abfrage angewendet. Ohne Prepare erfolgt die Vorbereitung beim 1. Ausführen. |
Re: UPDATE Funktion SQL mit Firebird
Ich muss mal wirklich ganz dumm fragen, wie wende ich das an?
|
Re: UPDATE Funktion SQL mit Firebird
Was?
|
Re: UPDATE Funktion SQL mit Firebird
Liste der Anhänge anzeigen (Anzahl: 1)
Was du mir versuchst zu erklären.
Ich habe jetzt den UPDATE Befehl direkt in die Query eingetragen und dieser wurden scheinbar automatische aus dem UPDATE Befehl heraus die Params zugewiesen. Dann habe ich den SQL Befehl in meiner Anweisung entfernt und es getestet. Leider mit dem Fehler im Anhang.
Delphi-Quellcode:
Gruß Jens
procedure TMailSendenForm.SpeichernButtonClick(Sender: TObject);
begin ConPSConfig.Connect; QryVorgabe.Close; QryVorgabe.ParamByName('ANHANG').AsString := FileEdit.Text; QryVorgabe.ParamByName('SEMAIL').AsString := FromMailEdit.Text; QryVorgabe.ParamByName('EEMAIL1').AsString := AddMailEdit.Text; QryVorgabe.ParamByName('EEMAIL2').AsString := AddMailEdit2.Text; QryVorgabe.ParamByName('SMTP').AsString := SMTPEdit.Text; QryVorgabe.ParamByName('BENUTZER').AsString := UserEdit.Text; QryVorgabe.ParamByName('PASSWORT').AsString := PasswortEdit.Text; QryVorgabe.ExecSQL; ConPSConfig.Commit; ShowMessage('Daten wurden gespeichert'); Close; end; |
Re: UPDATE Funktion SQL mit Firebird
Im OI siehst du die Parameter?
|
Re: UPDATE Funktion SQL mit Firebird
Liste der Anhänge anzeigen (Anzahl: 2)
Ja, und die weist mir der OI scheinbar auch allein zu. Lösche ich den SQL String im OI, werden die Params auch automatisch wieder entfernt.
Führe ich erst die Funktion ÜBERNEHMEN aus, geht danach auch SPEICHERN. Der Unterschied der zwei Funktion liegt lediglich daran, das in der einen noch der SQL Text vorhanden ist, und in der anderen, eigendlich der aus dem OI genutzt werden soll.
Delphi-Quellcode:
procedure TMailSendenForm.UebernehmenButtonClick(Sender: TObject);
begin ConPSConfig.Connect; QryVorgabe.Close; QryVorgabe.SQL.Text := 'UPDATE VORGABE SET E_MAIL_ANHANG = :ANHANG,'+ 'EIGENE_E_MAIL = :SEMAIL, EMPFAENGER_E_MAIL1 = :EEMAIL1,'+ 'EMPFAENGER_E_MAIL2 = :EEMAIL2, SMTP_SERVER = :SMTP,'+ 'BENUTZERNAME_E_MAIL = :BENUTZER,PASSWORT_E_MAIL = :PASSWORT'; QryVorgabe.ParamByName('ANHANG').AsString := FileEdit.Text; QryVorgabe.ParamByName('SEMAIL').AsString := FromMailEdit.Text; QryVorgabe.ParamByName('EEMAIL1').AsString := AddMailEdit.Text; QryVorgabe.ParamByName('EEMAIL2').AsString := AddMailEdit2.Text; QryVorgabe.ParamByName('SMTP').AsString := SMTPEdit.Text; QryVorgabe.ParamByName('BENUTZER').AsString := UserEdit.Text; QryVorgabe.ParamByName('PASSWORT').AsString := PasswortEdit.Text; QryVorgabe.ExecSQL; ConPSConfig.Commit; ShowMessage('Daten wurden gespeichert'); end; |
Re: UPDATE Funktion SQL mit Firebird
Und du verwendest die Komponente zwischenzeitlich auch für keine anderen Abfragen?
|
Re: UPDATE Funktion SQL mit Firebird
Liste der Anhänge anzeigen (Anzahl: 1)
Nein,eigendlich nicht.
Ich häng mal das Unit an. Das einzige was vorher passiert, ich greife beim Programmstart, allerdings mit einer anderen Connection und auch einer anderen Query Komponente auf die Datenbank zu, um in meinem Hauptformular diese Daten nutzen zu können. Übrigens, in der jetzt angehangen Unit, ist der UPDATE Befehl, beim Spiechern wieder vorhanden, damit ich diese Funktion habe. Gruß Jens |
Re: UPDATE Funktion SQL mit Firebird
Du verwendest die Querykomponente wie vermutet mehrfach. Verwende verschiedene dafür.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:55 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