![]() |
Zu MySQL Server verbinden
Hallo,
ich müsste mit einem Programm eine Verbindung zu einem SQl Server herrstellen, jetzt habe ich da auch ein TuT gefunden. Mein Problem ist die ZeosLib lassen sich bei mir nicht installieren. Ich habe im moment die Delphi Version 2006. Also falls einer eine andere Möglichkeit kennt oder ein anderes Tutorial das wäre sehr gut. Hier ist mal der Link zu dem TuT ![]() |
Re: Zu MySQL Server verbinden
Hallo, vielleicht ist
![]() |
Re: Zu MySQL Server verbinden
|
Re: Zu MySQL Server verbinden
der findet VCL30 nicht
|
Re: Zu MySQL Server verbinden
Du mußt das zu deiner Delphi-Version passende Package-Datei öffnen! Delphi 2005 mußt die 9 in der Package-Datei haben.
|
Re: Zu MySQL Server verbinden
Könnte mir auch vielleicht einer sagen was ich beo sourceforge loaden muss, weil es gibt bei Zeoslib verschiedene Sachen.
|
Re: Zu MySQL Server verbinden
|
Re: Zu MySQL Server verbinden
Hai,
ich verwende nur mehr die ADO.NET Connectors. Bei MySQL unter ![]() Anschließend über die .NET-Komponenten einbinden. Bei allen hast du eine Connection- und eine Command-Klasse dabei. Über einen DataReader kannst du dann Daten Abfragen. Quasi Kinderspiel:
Delphi-Quellcode:
Wenn du nur einen einzigen Wert aus der Abfrage wissen willst (Counterstand, ID eines Objekts, ...) kannst du dir den DataReader sogar sparen. Ebenso wenn du ein CREATE, INSERT, UPDATE oder so absetzt, wo kein Ergebnis zurückerwartet wird.
var conn : MySQL.Data.MySqlClient.MySqlConnection;
cmd : MySQL.Data.MySqlClient.MySqlCommand; dr : MySQL.Data.MySqlClient.MySqlDataReader; begin conn:=MySQL.Data.MySqlClient.MySqlConnection.Create('Host=localhost;User ID=...;Password=...;Database=...'); cmd:=conn.CreateCommand; cmd.CommandText:='SELECT * FROM Tabelle'; //oder was auch immer... try conn.Open; dr:=cmd.ExecuteReader; if dr.HasRows then while dr.Read do //... finally //... end; end; LGs Stefan |
Re: Zu MySQL Server verbinden
Wenn ich das richtig gesehen habe, geht es aber um Win32 ;)
|
Re: Zu MySQL Server verbinden
Also ich hab jetzt die Komponenten von ZeosLib instaliert bekommen. Aber wenn ich mit dem Programm meine Datenbank mit
SQL-Code:
abrufen will dann zeigt der mir an zu wenig Arbeitsspeicher. Hat da einer ne Lösung?
select * from tabeelle;
|
Re: Zu MySQL Server verbinden
Wieviel Datensätze hat den die Tabelle?
Versuch mal die Datenmenge zu limitieren |
Re: Zu MySQL Server verbinden
Du willst Dir gleich die komplette Tabelle anzeigen lassen? Versuch es doch erstaml ein bisschen gemäßigter:
SQL-Code:
Kommt da immer noch ein Fehler?
SELECT * FROM Tabelle LIMIT 10
|
Re: Zu MySQL Server verbinden
Da ist eigentlich garnichts drin, ich habs einmal mit ner leeren Tabelle versucht und einmal mit einem Eintrag. Und immer kommt die Fehlermeldung zu wenig Arbeitsspeicher.
|
Re: Zu MySQL Server verbinden
Zeig doch mal den Source.
|
Re: Zu MySQL Server verbinden
Kann das denn auch an der Tabelle liegen oder liegt das am Programm???
|
Re: Zu MySQL Server verbinden
Wieviel Speicher hat dein Rechner den?
Welche Anwendung verbraucht so viel Ram (MySQL-Server, Delphi, Anwenderprogramm)? |
Re: Zu MySQL Server verbinden
Ok hier ist der Source:
Delphi-Quellcode:
procedure TForm1.LinkKomponents;
begin with ZConnection1 do begin Database := 'wow_game'; HostName := 'localhost'; Password := 'password'; Port := 3306; //Oder der von euerem Provider angegebene Protocol := 'mysql'; User := 'root'; end; ZQuery1.Connection := ZConnection1; DataSource1.DataSet := ZQuery1; DBGrid1.DataSource := DataSource1; DBEdit1.DataSource := DataSource1; DBEdit1.DataField := 'entry'; DBEdit2.DataSource := DataSource1; DBEdit2.DataField := 'entry'; end; procedure TForm1.Btn_VerbClick(Sender: TObject); begin ZConnection1.Disconnect; ZConnection1.Connect; end; procedure TForm1.Btn_TrennClick(Sender: TObject); begin ZConnection1.Disconnect; end; procedure TForm1.FormCreate(Sender: TObject); begin ZConnection1.Disconnect; LinkKomponents; end; procedure TForm1.FormDestroy(Sender: TObject); begin ZConnection1.Disconnect; end; procedure TForm1.Btn_AbfrClick(Sender: TObject); begin ZQuery1.close; ZQuery1.SQL:= memo1.Lines; ZQuery1.Open; ZQuery1.close; end; |
Re: Zu MySQL Server verbinden
Also ich hab 1gb drin und das muss reichen, die Tabelle hat drei Spalten und es sind 2 Einträge drin und es sind vielleicht 200 mb von dem Arbeitsspeicher verbraucht.
|
Re: Zu MySQL Server verbinden
Und welche Komponente belegt soviel Speicher?
|
Re: Zu MySQL Server verbinden
Ja keine das ist es ja. Der Arbeitsspeicher ist ja frei. Ich hab keine ahnung woher der Fehler kommen soll.
|
Re: Zu MySQL Server verbinden
Liste der Anhänge anzeigen (Anzahl: 1)
Hier gebe ich mal das Programm, geht da mal auf Verbinden und dann auf Abfragen.
|
Re: Zu MySQL Server verbinden
Ohne Datenbank geht es wohl nicht.
|
Re: Zu MySQL Server verbinden
Ja die Daten hab ich doch drin. Einfach nur auf Verbinden dann auf Abfragen dann fragt ihr meine Datenbank ab. Und dann seht ihr den Fehler ja selber
|
Re: Zu MySQL Server verbinden
Wie sollen wir denn auf Deinen Rechner kommen?
|
Re: Zu MySQL Server verbinden
Wieso meinen rechner, die Datenbank ist im www.
|
Re: Zu MySQL Server verbinden
Dann ist aber der Servername localhost falsch
|
Re: Zu MySQL Server verbinden
Zitat:
|
Re: Zu MySQL Server verbinden
Das liegt nicht daran ich habs ja auch schon intern versucht und da geht es auch nicht.
|
Re: Zu MySQL Server verbinden
Also ich hab den Fehler jetzt behoben, es lag an der Tabelle da war wohl irgendwas falsch.
Mein nächster Fehler ist jetzt wenn ich in SQL den Update Befehl ausführe bekomme ich die Fehlermeldung: "Can not open a Resultset" Kann man diese Fehlermeldung irgendwie weg bekommen oder abfangen?? |
Re: Zu MySQL Server verbinden
Wie machst Du es denn? Mit Query.Open? Das wäre falsch, bei DML muss es ExecSQL heißen.
|
Re: Zu MySQL Server verbinden
Bei DML-Statement wird kein Resultset zurückgeliefert. Deshalb .ExecSQL statt .Open
|
Re: Zu MySQL Server verbinden
Ok danke ich versuchs direkt mal.
|
Re: Zu MySQL Server verbinden
Liste der Anhänge anzeigen (Anzahl: 1)
LOL da kriege ich ne hefitge Fehlermeldung:
|
Re: Zu MySQL Server verbinden
Was war denn das? Zeig mal den Source. :gruebel:
|
Re: Zu MySQL Server verbinden
Wie sieht den der Code genau aus?
|
Re: Zu MySQL Server verbinden
einen moment mal ich schau gerade selber nach, weil ich glaube das liegt jetzt woanders dran.
|
Re: Zu MySQL Server verbinden
Ok Fehler gelöst ich hatte den SQL Code in einem Memo Feld und das hab ich auf Größe 1x1 Pixel gemacht und dadruch wurden mehrere Zeilen verwendet. Also jetzt sind alle Fehler gelöst. Danke für eure Hilfe.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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