AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL und dbExpress

Ein Thema von Ulrich Wolf · begonnen am 31. Jan 2005 · letzter Beitrag vom 31. Jan 2005
Antwort Antwort
Ulrich Wolf

Registriert seit: 12. Dez 2003
Ort: Lendsiedel
23 Beiträge
 
#1

MySQL und dbExpress

  Alt 31. Jan 2005, 07:36
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.
Ulrich Wolf
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: MySQL und dbExpress

  Alt 31. Jan 2005, 07:42
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 ClLabs findest Du mit sicherheit lauffähige dbExpress-Komponenten. Für MySQL würde ich dir aber native-Komponenten wie MySQL DAC empfehlen. Damit kommst im Optimalfall ohne externe DLL's bzw. Abhänigkeiten aus.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Ulrich Wolf

Registriert seit: 12. Dez 2003
Ort: Lendsiedel
23 Beiträge
 
#3

Re: MySQL und dbExpress

  Alt 31. Jan 2005, 10:09
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.
Ulrich Wolf
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: MySQL und dbExpress

  Alt 31. Jan 2005, 10:52
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).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Ulrich Wolf

Registriert seit: 12. Dez 2003
Ort: Lendsiedel
23 Beiträge
 
#5

Re: MySQL und dbExpress

  Alt 31. Jan 2005, 11:22
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.
Ulrich Wolf
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: MySQL und dbExpress

  Alt 31. Jan 2005, 11:58
Zitat von Ulrich Wolf:
Blöd, dass Borland diese aus verschiedenen Verzeichnissen holt.
Solange Delphi nicht fest den Suchpfad angibt, ist Windows für die Auswahl verantwortlich. Und alles können die auch nicht vorhersehen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz