![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: Query
Variablen als Parameter übergeben?
Morgen!
Wie kann ich den Inhalt von zwei Edit-komponenten als Parameter in eine Query-Komponente übergeben? Mal allgemein:
Delphi-Quellcode:
Brauche nur die Syntax für die Query-Anweisung.
procedure TfrmMain.AddClick(Sender: TObject);
begin qryMain.Close; qryMain.SQL.Clear; // Hier die Query Anweisung: qryMain.SQL.Add('UPDATE Tabelle SET Feld1 =??? , Feld2 =??? ); // (parameter0) (parameter1) qryMain.Params[0].DataType := ftInteger; qryMain.Params[1].DataType := ftInteger; qryMain.Params[0].AsInteger := StrToInt(edtFeld1.Text); qryMain.Params[1].AsInteger := StrToInt(edtFeld2.Text); qryMain.ExecSQL; qryMain.Close; qryMain.SQL.Clear; qryMain.SQL.Add('SELECT Feld1, Feld2 FROM Tabelle;'); qryMain.Open; DBGrid1.Refresh; end; Frage: Muss die Parameter-Definition VOR der Anweisung stehen? Gruss + Danke, Loki. |
Re: Variablen als Parameter übergeben?
Delphi-Quellcode:
qryMain.SQL.Add('UPDATE Tabelle SET Feld1 =:feld1, Feld2 = :feld2' );
qryMain.ParamByName('feld1').Value bzw as<Typ> (asInteger) Zitat:
|
Re: Variablen als Parameter übergeben?
Danke, wird so gehen.
Aber wie funktioniert die übergabe mit Parameter By Index, nicht ParamByName? Loki. |
Re: Variablen als Parameter übergeben?
Delphi-Quellcode:
.
qryMain.Params.Items[0].Value; bzw as<Typ>;
Delphi-Quellcode:
müsste aber auch gehen.
die verkürzte Form qryMain.Params[0].Value
|
Re: Variablen als Parameter übergeben?
Ja, das war mir klar, aber wie sieht das in der Query-Anweisung aus?
(muss mich mal klarer ausdrücken....) Gruss Loki. |
Re: Variablen als Parameter übergeben?
Genauso.
|
Re: Variablen als Parameter übergeben?
Also
Delphi-Quellcode:
???
qryMain.SQL.Add('UPDATE Tabelle SET Feld1, Feld2' );
qryMain.Params[0].DataType := ftInteger; qryMain.Params[1].DataType := ftInteger; qryMain.Params[0].AsInteger := StrToInt(edtFeld1.Text); qryMain.Params[1].AsInteger := StrToInt(edtFeld2.Text); Loki |
Re: Variablen als Parameter übergeben?
Nein so
Delphi-Quellcode:
Wie du die Parameter benennst ist in diesem Fall egal könnte auch :f1, :a oder :djajsdhadajks sein.
qryMain.SQL.Add('UPDATE Tabelle SET Feld1= :feld1, Feld2 = :feld2' );
qryMain.Params[0].DataType := ftInteger; //Nicht unbedingt notwendig qryMain.Params[1].DataType := ftInteger; //Nicht unbedingt notwendig qryMain.Params[0].asString := edtFeld1.Text; qryMain.Params[1].asString := edtFeld2.Text; |
Re: Variablen als Parameter übergeben?
OK, das war das Problem.Warum dann überhaupt Namen.....
Klappt aber, DANKE!!! Gruss Loki. |
Re: Variablen als Parameter übergeben?
und wie würde das dann aussehen wenn ich in 2 felder den gleichen wert haben will bzw. nicht in der Reihenfolge der params? also so:
SQL-Code:
bzw so:
qryMain.SQL.Add('UPDATE Tabelle SET Feld1= :feld2, Feld2 = :feld1' );
qryMain.Params[0].DataType := ftInteger; //Nicht unbedingt notwendig qryMain.Params[1].DataType := ftInteger; //Nicht unbedingt notwendig qryMain.Params[0].asString := edtFeld1.Text; qryMain.Params[1].asString := edtFeld2.Text;
SQL-Code:
qryMain.SQL.Add('UPDATE Tabelle SET Feld1= :feld1, Feld2 = :feld2, Feld3 = :feld1' );
qryMain.Params[0].DataType := ftInteger; //Nicht unbedingt notwendig qryMain.Params[1].DataType := ftInteger; //Nicht unbedingt notwendig qryMain.Params[0].asString := edtFeld1.Text; qryMain.Params[1].asString := edtFeld2.Text; |
Re: Variablen als Parameter übergeben?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17: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