![]() |
Problem mit MySQL-Verbindung (MySQL ODBC 3.51 Driver)
Hallo!
Ich versuche gerade auf die MySQL-Datenbank (Version 4.20d) mit dem ODBC Treiber (MySQL ODBC 3.51 Driver) zuzugreifen. Kann mir jemand sagen, warum keine Daten angezeigt werden können? Die Attributnamen werden ausgegeben es werden nur keine Daten ausgegeben obwohl 3 Datensätze in der Tabelle vorhanden sind!?
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var con : Connection; rst : Recordset; fld : Field; r, x, y, i : Integer; begin con := CoConnection.Create; rst := CoRecordset.Create; con.Open('bl', 'BENUTZER', 'PASSWORT', -1); rst.Open('SELECT * FROM abteilung', con, adOpenStatic, adLockOptimistic, adCmdText); x := rst.Fields.Count-1; y := rst.RecordCount; StringGrid1.ColCount := x+1; StringGrid1.RowCount := y+1; For i := 0 to x do begin StringGrid1.Cells[i, 0] := rst.fields[i].Name; end; r := 1; rst.MoveFirst; while not rst.EOF do begin For i := 0 to x do begin fld := rst.Fields[i]; StringGrid1.Cells[i, r] := fld.Value; end; r := r + 1; rst.MoveNext; end; rst.Close; rst := nil; con.Close; con := nil; end; |
Re: Problem mit MySQL-Verbindung (MySQL ODBC 3.51 Driver)
Ich denke mal die Infos unter
![]() Einfacher gehts mit native-Komponenten wie ![]() |
Re: Problem mit MySQL-Verbindung (MySQL ODBC 3.51 Driver)
Gibt es sonst keine andere Lösung?
Sollte doch eigentlich auch mit ADO funktionieren, oder? |
Re: Problem mit MySQL-Verbindung (MySQL ODBC 3.51 Driver)
ADO und MySQL ist nicht so toll, weil man nicht sicher sein kann, dass auch die ODBC-Treiber auf dem Rechner sind.
Nimm lieber die Zeos-Komponenten. Dann brauchst du bloß die libmysql.dll mitliefern und gut ist! |
Re: Problem mit MySQL-Verbindung (MySQL ODBC 3.51 Driver)
Für ADO mußt Du auf der "Programs Known to Work with MyODBC" den Abschnitt für ADO durchlesen. Dort mußt Du ein paar ander Schalter setzen.
|
Re: Problem mit MySQL-Verbindung (MySQL ODBC 3.51 Driver)
Zitat:
Code:
schau mal im Debug-Mode ob du einen Wert >-1 erreichst, sonst kann dein Stringgrid nicht auf die Recordanzahl reagieren. setze es mal manuell auf die Anzahl der zu erwartenden Datensätze.
y := rst.RecordCount;
Außerdem wird dir ein evt. auftretendes Leerfeld Probleme bereiten. Es verursacht einen Fehler nichts zuzuweisen. |
Re: Problem mit MySQL-Verbindung (MySQL ODBC 3.51 Driver)
Hab es jetzt herausgefunden warum es nicht funktioniert hat. Es hat die Zeile
Delphi-Quellcode:
gefehlt. Ohne diese Zeile bringt RecordCount immer -1 raus. Mit der Zeile funktioniert es!
rst.CursorLocation:=adUseClientBatch;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 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 by Thomas Breitkreuz