![]() |
MySQL und dbExpress
MySQL und dbExpress
Ich habe ein komisches Fähenomen. Mit dbExpress möchte ich eine MySQL-Tabelle ansprechen. Benutzt habe ich SQLConnection1; SQLDataSet1 und DataSource1 Wenn ich die Verbindung im Programmiermodus herstelle kommen die Daten. Starte ich das Programm mit F9 kommt folgender Fehler: Im Projekt Project1.exe ist eine Exception der Klasse EdatabaseError aufgetreten. Meldung:’dbExpress-Fehler: Ungültiges Handle’. Ich habe die Verbindung dann mit zwei Buttons herzustellen versucht, das gleiche Ergebnis. Die Verbindung mit SQLConnection1 funktioniert, aber wenn ich bei SQLDataSet1 activ=true setzen will kommt die Fehlermeldung. Was fehlt hier noch oder was ist falsch?
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBXpress, DB, SqlExpr, StdCtrls, FMTBcd, Mask, DBCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; SQLConnection1: TSQLConnection; Button1: TButton; DataSource1: TDataSource; DBEdit1: TDBEdit; DBEdit2: TDBEdit; Button2: TButton; SQLDataSet1: TSQLDataSet; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); //SQLConnection1 = true begin // Die Datenmenge muss zum Ändern der SQL-Verbindung geschlossen werden SQLConnection1.ConnectionName:='MSConnection'; SQLConnection1.Params.Values['BlobSize']:='-1'; SQLConnection1.Params.Values['Database']:='Datenbankname'; SQLConnection1.Params.Values['DriverName']:='MYSQL'; SQLConnection1.Params.Values['ErrorRessourceFile']:='0000'; SQLConnection1.Params.Values['HostName']:='Servername'; SQLConnection1.Params.Values['Password']:='test'; SQLConnection1.Params.Values['User_Name']:='Tester'; SQLConnection1.ParamsLoaded:=true;//Muß sein, damit die Daten eingetragen werden SQLConnection1.Connected:=true; SQLConnection1.Open; end; procedure TForm1.Button2Click(Sender: TObject); //SQLDataSet1 = true begin //Button1.Click; SQLDataset1.SQLConnection:=SQLConnection1; SQLDataSet1.CommandText:='SELECT * FROM adresse'; SQLDataset1.NoMetadata:=true; end; end. |
Re: MySQL und dbExpress
Du solltest noch folgendes Angeben:
- Delphi-Version (Mit SP-Version) - MySQL-Version Ich würde dir empfehlen eh nicht dbExpress zu verwenden, und wenn dann nicht die von Borland. Unter ![]() ![]() |
Re: MySQL und dbExpress
Hallo Bernhard,
ich habe Delphi 7 und die MySQL Version ist 4.0.20a-nt. Auf dem MySQL-Server kommt auch die Fehlermeldung: "Fehler beim lesen eines Communications-Pakets". Eigentlich will ich verstehen, warum es in der Programierumgebung funktioniert, nicht aber wenn ich das Programm starte. Deine Tips werd ich mir mal ansehen. Vielen Dank. |
Re: MySQL und dbExpress
Ich vermute mal das auf deinem System evtl. mehrere libmysql.dll vorhanden sind.
Evtl. wird im Debugger eine andere DLL als beim Start ohne Debugger gezogen (z.B. da Delphi schon eine Version gezogen hat und ohne Debugger eine Version z.B. aus dem Systemverzeichnis genommen wird). |
Re: MySQL und dbExpress
Hallo Bernhard,
Du bist ja super!!! Ich wollte die aktuellen dll's einfügen und habe da zwei Versionen gehabt. Blöd, dass Borland diese aus verschiedenen Verzeichnissen holt. Es lag an den Dateien: LIBMYSQL.dll vom 22.02.02 und DBEXPMYSQL.dll vom 23.08.02 Als ich die Dateien durch diese ersetzt habe funktioniert es jetzt. Vielen Dank für die tolle und schnelle Hilfe. |
Re: MySQL und dbExpress
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:54 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