Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Anweisung an Button senden (https://www.delphipraxis.net/10042-sql-anweisung-button-senden.html)

endyexcellent 10. Okt 2003 10:36


SQL Anweisung an Button senden
 
Haaaallo,

ist es möglich, und wenn ja wie, eine SQL Anweisung (z.Bsp. SELECT * FROM tablename WHERE .......)
über eine Button-Komponente zu starten?

Mfg,
enDyExellent

r_kerber 10. Okt 2003 11:12

Re: SQL Anweisung an Button senden
 
Hallo endyexcellent,

Schreibe eine OnClick-Prozedure für den Button, in der Du zunächst das SQL-Statement in die SQL-Eigenschaft einer TQuery einträgts und dann die Query öffnest!

endyexcellent 10. Okt 2003 12:08

Re: SQL Anweisung an Button senden
 
Okay... habe jetzt eine Query Komponente mit der entsprechenden SQL Anweisung. Aber mit welchem Befehl starte ich die Query mit dem Button?

Mfg, enDyExcellent

r_kerber 10. Okt 2003 12:11

Re: SQL Anweisung an Button senden
 
Wie gesagt, eine OnClick-Prozedur:
Delphi-Quellcode:
Query1.Close;
Query1.SQL = 'SELECT * FROM tablename WHERE .......';
Query1.Open;

endyexcellent 10. Okt 2003 12:30

Re: SQL Anweisung an Button senden
 
Jaaa :o) super, ich bin leider noch Anfänger..

und so:

SQL-Code:
procedure TForm1.Button5Click(Sender: TObject);
begin
     IBQuery1.Close;
     IBQuery1.SQL = 'select PERSNR from MITARBEITER';
     IBQuery1.Open;
end;
klappt es jedenfalls nicht.

Memo 10. Okt 2003 12:49

Re: SQL Anweisung an Button senden
 
Zitat:

"Jaaa :o) super, ich bin leider noch Anfänger
Dann kauf dir ein Buch.
Und es gibt bestimmt keinen Grund gleich unhöflich zu werden, blos weil jemand der dir nur helfen wollte mal ".Text" vergessen hat. :evil:

r_kerber 10. Okt 2003 18:25

Re: SQL Anweisung an Button senden
 
Zitat:

Zitat von endyexcellent
Jaaa :o) super, ich bin leider noch Anfänger..

Es gibt ja auch noch die OH mit guten Beispielen! So sollte es dann aber funktionieren:
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
begin
     IBQuery1.Close;
     IBQuery1.SQL.Clear;
     IBQuery1.SQL.Add ('select PERSNR');
     IBQuery1.SQL.Add ('from MITARBEITER');
     IBQuery1.SQL.Add ('where PERSNR < 20');
     IBQuery1.Open;
end;
Die WHERE-Klausel möchte ich Dir vor allem bei großen Tabellen an's Herz legen, da Du sonst ewig auf die Daten wartest!

endyexcellent 13. Okt 2003 08:44

Re: SQL Anweisung an Button senden
 
Ich wollte keineswegs unhöflich sein. Und mein
Zitat:

Jaaa ) super, ich bin leider noch Anfänger..
wurde wohl missverstanden, hm? *schmunzl* War jedenfalls nicht böse gemeint.

So aber nun nochmal zu meinem Problemchen..
..ja, es klappt nämlich dämlich immer noch nicht :roteyes:

kann es sein dass es nicht klappt weil ich 2 Querys im Formular hab? Die eine Query ist auf True gesetzt damit man beim Start der Anwendung gleich die erste Abfrage bekommmt. Nun will ich über den Button die Tabelle neu anzeigen, refreshed sozusagen mit neuer Sortierung. Aber es klappert nicht und in der Hilfe hab ich natürlich auch schon nachgeschaut, und Bücher hab ich auch.. aber davon qualmt mir schon der Kopf.

tazmania 13. Okt 2003 08:53

Re: SQL Anweisung an Button senden
 
Hier auch noch eine kleine Hilfe.....

Dieser Code ist für Oracle ausgelegt und verwendet Parameter. Dies kann aber auch sonst eingesetzt werden

Delphi-Quellcode:
  PUBLIC
   PROCEDURE Select1(Text1_param,Text2_param,Text3_param,Text4_param,Text5_param,Text6_param,Text7_param,Text8_param,Text9_param:String);


.....
PROCEDURE TForm1.Select1(Text1_param,Text2_param,Text3_param,Text4_param,Text5_param,Text6_param,Text7_param,Text8_param,Text9_param:String);
BEGIN
 Datamodule1.Query1.close;
 Datamodule1.Query1.SQL.clear;
 Datamodule1.Query1.SQL.add(Text1_param);
 IF NOT (Text2_param = '') THEN Datamodule1.Query1.Params[0].AsString := Text2_param;
 IF NOT (Text3_param = '') THEN Datamodule1.Query1.Params[1].AsString := Text3_param;
 IF NOT (Text4_param = '') THEN Datamodule1.Query1.Params[2].AsString := Text4_param;
 IF NOT (Text5_param = '') THEN Datamodule1.Query1.Params[3].AsString := Text5_param;
 IF NOT (Text6_param = '') THEN Datamodule1.Query1.Params[4].AsString := Text6_param;
 IF NOT (Text7_param = '') THEN Datamodule1.Query1.Params[5].AsString := Text7_param;
 IF NOT (Text8_param = '') THEN Datamodule1.Query1.Params[6].AsString := Text8_param;
 IF NOT (Text9_param = '') THEN Datamodule1.Query1.Params[7].AsString := Text9_param;
 Datamodule1.Query1.Open;
END;

PROCEDURE TForm1.Button64Click(Sender: TObject);
BEGIN
 Select1('select * FROM XXXXXX WHERE YYYY = :Variable',Variable,'','','','','','','');
END;

endyexcellent 13. Okt 2003 08:57

Re: SQL Anweisung an Button senden
 
Hihi. Danke für Tips.

Mein Problem ist glaube ich folgendes:

Kan ich irgendeinen Befehl in den Button einbauen, welcher die erste Abfrage löscht und die zweite Abfrage startet?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 Uhr.
Seite 1 von 2  1 2      

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