![]() |
Zu SQL-Server im Internet verbinden und SQL-Abfragen machen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallihallo!
Ich habe mich in letzter Zeit etwas mit Datenbanken im Internet beschäftigt, und möchte euch (nach zig Fehlversuchen) das Ergebnis meiner Anstrengungen in (hoffentlich) leicht verständlicher Form näherbringen. Für unser kleines Beispielprogramm brauchen wir:
Damit hätten wir alle Zutaten zusammen. Als erstes müssen wir eine Prozedur schreiben, die die Abhängigkeiten zwischen den Komponenten regelt. Das muss man nicht über den Quelltext machen, aber so hat man auf einen Blick, was mit was verbunden ist.
Delphi-Quellcode:
Somit haben wir die Komponenten miteinander verknüpft, und der Verbindung klargemacht, wie sie unseren SQL-Server zu handhaben hat.
procedure TForm1.LinkKomponents;
begin with ZConnection1 do begin Database := 'Datenbankname'; HostName := 'URL zu euerem Host, z.B. www.freesql.org'; Password := 'euer Passwort'; Port := 3306; //Der Port auf dem die DB angesprochen wird, bei freesql.org 3306 Protocol := 'mysql'; User := 'Euer Username'; end; ZQuery1.Connection := ZConnection1; DataSource1.DataSet := ZQuery1; DBNavigator1.DataSource := DataSource1; DBGrid1.DataSource := DataSource1; DBEdit1.DataSource := DataSource1; DBEdit1.DataField := 'name'; DBEdit2.DataSource := DataSource1; DBEdit2.DataField := 'nname'; end; Nun packen wir das ganze in den FormCreate Teil:
Delphi-Quellcode:
Die restlichen Funktionen sind sehr einfach aufgebaut, weil die Komponente ZConnection alles für uns erledigt.
procedure TForm1.FormCreate(Sender: TObject);
begin ZConnection1.Disconnect; //Sollte eine Verbindung offen sein, so wird sie geschlossen LinkKomponents; //Hiermit werden die Komponenten verbunden end;
Delphi-Quellcode:
Bevor wir damit vernünftig arbeiten könne, brauchen wir erst mal eine Tabelle.
procedure TForm1.FormDestroy(Sender: TObject);
begin ZConnection1.Disconnect; //Falls man vergessen hat die Verbindung zu schließen wir sie hier nochmal geschlossen end; procedure TForm1.Btn_VerbClick(Sender: TObject); begin ZConnection1.Disconnect; //Falls die Verbindung noch/schon offen ist wird der Fehler //vermieden, dass noch eine Verbindung offen ist ZConnection1.Connect; //Herstellen der Verbindung end; procedure TForm1.Btn_TrennClick(Sender: TObject); begin ZConnection1.Disconnect; //Trennen der Verbindung end; procedure TForm1.Btn_AbfrClick(Sender: TObject); begin ZQuery1.SQL:= memo1.Lines; //Der Text der Abfrage steht in Memo1 ZQuery1.Open; //Die Abfrage wir 'freigegeben' => ausgeführt end; Wenn das Projekt kompiliert ist und läuft muss man folgendes machen: In Memo1 eingeben: Zitat:
Zitat:
Über das Memo kann man nun alle Aktionen die MYSQL zulässt durchführen und bekommt die Resultate im DBGrid angezeigt (und in den Edit-Feldern). Damit Endet dieser Exkurs. Ich hoffe alles war verständlich und das ganze ist hilfreich. Zumindest hatte ich Probleme etwas vergleichbares wie das hier zu finden und ich glaube, ich bin nicht der Einzige. Über ein kleines bisschen Feedback würde ich mich freuen *g* :-D edit: Ich habe noch den Source für das Beispielprogramm als Zip angehangen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:34 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