Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Trennung 2er MySQL Befehle (https://www.delphipraxis.net/52610-trennung-2er-mysql-befehle.html)

LeahCim 1. Sep 2005 07:22

Re: Trennung 2er MySQL Befehle
 
ja, dann sehe ich den SQL Code...


und was bringt mir das? NICHTS! Ich muss das ganze ins Delphi eingeben...und da kann ich nunmal nur hintereinander schreiben... Aber hier erstmal der Code...damit auch Jelly zufreiden ist:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var tabelle, tabelle2:string;
begin
if box1.Text = 'Bitte auswählen' then
begin
Showmessage('Es muss eine Tabelle ausgewählt werden!')
end
else
begin
AdoQuery1.Connection := AdoConnection1;
Tabelle := '['+Box1.items[Box1.itemindex]+']';
Tabelle2 := '['+Combobox1.items[Combobox1.itemindex]+']';
 With AdoQuery1 do
         begin
           SQL.Text:='SELECT exNR, exName, exVorname, exNote1, exNote2 FROM '+tabelle; //
           open;                                                                       //
           close;                                                                      //--> Und genau hier ist mein Problem! Da kann ich nicht einfach stumpf nen
           SQL.Clear;                                                                  //--> MySQL Code untereinander wech schreiben...und so geht nur der 2te Select
           SQL.Text :='SELECT exPrNr FROM '+tabelle2;                                  //
           open;                                                                       //

form2.showmodal;
end;
end;
end;
so...ich glaube jeden kleinen Button brauche ich nicht posten...

Sharky 1. Sep 2005 07:38

Re: Trennung 2er MySQL Befehle
 
Hai LeahCim,

ich verstehe noch nicht genau was Du erreichen möchtest.
Wenn Du diesen Code von Dir benutzt

Delphi-Quellcode:
.
.
 With AdoQuery1 do
 begin
   SQL.Text:='SELECT exNR, exName, exVorname, exNote1, exNote2 FROM '+tabelle; //
   open; // Daten werden aus der Tabelle gelesen
   close; // und sofort wird die Tabelle geschlossen -> Die Daten stehen nicht mehr zur verfügung
   SQL.Clear;
   SQL.Text :='SELECT exPrNr FROM '+tabelle2;
   open;
 end;
.
.
Macht das erste "SELECT" ja keinen Sinn. Die Daten werden ja nie benutzt.

moritz 1. Sep 2005 07:42

Re: Trennung 2er MySQL Befehle
 
Wie wär's mit sowas?

Code:
SELECT tbl1.a,tbl1.b,tbl2.a,tbl2.b,tbl3.a,tbl3.b from bla tbl1, blä tbl2, blabla tbl3
Müsste so doch eigentlich gehen, oder?

LeahCim 1. Sep 2005 07:51

Re: Trennung 2er MySQL Befehle
 
Zitat:

Zitat von Sharky
Hai LeahCim,

ich verstehe noch nicht genau was Du erreichen möchtest.
Wenn Du diesen Code von Dir benutzt

Delphi-Quellcode:
.
.
 With AdoQuery1 do
 begin
   SQL.Text:='SELECT exNR, exName, exVorname, exNote1, exNote2 FROM '+tabelle; //
   open; // Daten werden aus der Tabelle gelesen
   close; // und sofort wird die Tabelle geschlossen -> Die Daten stehen nicht mehr zur verfügung
   SQL.Clear;
   SQL.Text :='SELECT exPrNr FROM '+tabelle2;
   open;
 end;
.
.
Macht das erste "SELECT" ja keinen Sinn. Die Daten werden ja nie benutzt.

Aber so geht es nicht
Delphi-Quellcode:
With AdoQuery1 do
         begin
           SQL.Text:='SELECT exNR, exName, exVorname, exNote1, exNote2 FROM '+tabelle;
           open;
           SQL.Text :='SELECT exPrNr FROM '+tabelle2;
           open;
und so auch nicht:

Delphi-Quellcode:
With AdoQuery1 do
         begin
           SQL.Text:='SELECT exNR, exName, exVorname, exNote1, exNote2 FROM '+tabelle;
           open;
           SQL.Clear;
           SQL.Text :='SELECT exPrNr FROM '+tabelle2;
           open;

LeahCim 1. Sep 2005 07:51

Re: Trennung 2er MySQL Befehle
 
Zitat:

Zitat von moritz
Wie wär's mit sowas?

Code:
SELECT tbl1.a,tbl1.b,tbl2.a,tbl2.b,tbl3.a,tbl3.b from bla tbl1, blä tbl2, blabla tbl3
Müsste so doch eigentlich gehen, oder?

Und das versteh ich nicht.... :?:

dfried 1. Sep 2005 07:53

Re: Trennung 2er MySQL Befehle
 
Das erzeugt einfach ein kartesisches Produkt aller Datensätze der angegebenen Tabellen.
Was aber (wenn ich dich vielleicht ein bisschen verstanden habe) glaub ich nicht das ist, was du gerne hättest.

dfried 1. Sep 2005 07:57

Re: Trennung 2er MySQL Befehle
 
Zitat:

Zitat von LeahCim
und so auch nicht:

Delphi-Quellcode:
With AdoQuery1 do
         begin
           SQL.Text:='SELECT exNR, exName, exVorname, exNote1, exNote2 FROM '+tabelle;
           open;
           SQL.Clear;
           SQL.Text :='SELECT exPrNr FROM '+tabelle2;
           open;

Wenn du die Beiträge von Jelly bzw. mir aufmerksam gelesen hättest, dann müsste dir langsam klar werden, dass das wsa du willst nur mit dem von Jelly angesprochenen "UNION" (mit all seinen Einschränkungen) funktioniert, ansonsten bekommst du die Daten meherer Selects eben nicht in ein DBGrid, ausser du bastelst dir halt (wie ich vorgeschlagen habe) von Hand eine "eigene" Tabelle im Speicher zusammen und hängst die an dein Grid!

LeahCim 1. Sep 2005 08:01

Re: Trennung 2er MySQL Befehle
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, jetzt mal das ganze Projekt...


die Excel Datei kann ich leider nicht online stellen...TOP Secret! :wink:

@dfried

Wie soll ich das Union denn mit in den Code bringen? Alle schreiben hier immer nur das Jelly recht hat, aber keiner gibt mir ein beispiel, wo ich vorher schonmal drum gebeten habe...nichtmal Jelly selber...und das bringt mich auch nicht weiter...

dfried 1. Sep 2005 08:06

Re: Trennung 2er MySQL Befehle
 
Na, wenn dir das Beispiel von Jelly (kompletter Code mit Beispiel XLS-Datei!!!) nicht reicht, dann kann dir glaub ich keiner helfen.

Er hat dir in seinem Beispiel genau demonstriert, wie das mit dem Union funktioniert!!!
Der einzige Unterschied zu dem was du willst, ist der, dass er eben den SQL-Text direkt in der Komponente eingetragen hat anstatt im Code zuzuweisen!

edit: Zur Vervollständigung: um das direkt im Code zuzuweisen könntest du das z.B. so machen:
Delphi-Quellcode:
qry1.SQL.Text := 'select * from Liste1'+#13#10+
                 'union'+#13#10+
                 'select * from Liste2'+#13#10+
                 'order by Name, Vorname';

LeahCim 1. Sep 2005 08:08

Re: Trennung 2er MySQL Befehle
 
Zitat:

Zitat von dfried
Na, wenn dir das Beispiel von Jelly (kompletter Code mit Beispiel XLS-Datei!!!) nicht reicht, dann kann dir glaub ich keiner helfen.

Er hat dir in seinem Beispiel genau demonstriert, wie das mit dem Union funktioniert!!!
Der einzige Unterschied zu dem was du willst, ist der, dass er eben den SQL-Text direkt in der Komponente eingetragen hat anstatt im Code zuzuweisen!

:wall: Hast du eigentlich meinen ersten Post gelesen? Hier noch mal zur erinnerung:

Zitat:

wie kann ich mehrere Select-Befehle in MySQL hintereinander weg schreiben?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:35 Uhr.
Seite 4 von 5   « Erste     234 5      

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