![]() |
Datenbank: MySQL • Version: 4.0/4.1/5.0 • Zugriff über: dbExpress
Was mache ich falsch? MySQL via dbExpress (TurboDelphi)
Ich habe mit folgendem Code zuerst auf eine MySQL Datenbank der Version 5.0, 4.1 und schliesslich 4.0.26 zu zugreifen,
jedoch immer das gleiche die Verbindung mit der Datenbank klappt jedoch bei einer Abfrage hagelt es immer eine Zugriffsverletztung in dbxmys30.dll.
Delphi-Quellcode:
Die Zugriffsverletztung tritt bei SQLQuery.Active := True auf und lautet wie folgt.
procedure TfrmMain.Button1Click(Sender: TObject);
var SQLConnection : TSQLConnection; SQLQuery : TSQLQuery; begin SQLConnection := TSQLConnection.Create(Self); SQLConnection.ConnectionName := 'SQLCon'; SQLConnection.DriverName := 'MYSQL'; SQLConnection.GetDriverFunc := 'getSQLDriverMYSQL'; SQLConnection.LibraryName := 'dbxmys30.dll'; SQLConnection.VendorLib := 'LIBMYSQL.dll'; SQLConnection.Params.Values['BlobSize'] := '-1'; SQLConnection.Params.Values['Database'] := 'Kunden'; SQLConnection.Params.Values['ErrorRessourceFile'] := ''; SQLConnection.Params.Values['HostName'] := 'localhost'; SQLConnection.Params.Values['LocaleCode'] := '0000'; SQLConnection.Params.Values['User_Name'] := 'root'; SQLConnection.Params.Values['Password'] := 'password'; SQLConnection.Params.Values['Compressed'] := 'False'; SQLConnection.Params.Values['Encrypted'] := 'False'; SQLConnection.LoginPrompt := False; SQLConnection.ParamsLoaded := True; SQLConnection.KeepConnection := True; SQLConnection.Connected := True; SQLConnection.Open; Memo1.Lines.Add('Verbindung hergestellt ...!'); SQLQuery := TSQLQuery.Create(Self); SQLQuery.SQLConnection := SQLConnection; SQLQuery.SQL.Text := 'Select * from Kunde'; SQLQuery.Active := True; SQLConnection.Close; SQLConnection.Free; Memo1.Lines.Add('Verbindung beendet ...!'); end; Zitat:
Was mache ich da Falsch? :gruebel: Ich habe TurboDelphi Explorer auf einem WinXP Pro rechner installiert, so wie die Datenbank Server. mfg TUX |
Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)
Hast du Update2 von BDS schon installiert
![]() Scheint zudem (nur) für MySQL 4 zu sein: Zitat:
![]() Schon mal hier geschaut bzw. Fehler eingestellt? ![]() |
Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)
Schmeiß die Kompos von Borland weg und besorgt dir die von
![]() |
Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)
Da ich die kostenlose TurboDelphi Version habe, kann ich dort keine zusätzlichen Komponenten Installieren,
ausserdem war meine Frage nicht welche Komponente soll ich nehmen sondern wie Funktioniert das ganze mit der bestehenden Komponente, ich vermute mein Fehler liegt in der Syntax wie ich die Abfrage aufgebaut habe, aber dazu sagt mir ja nie jemand etwas, geschweige den postet jemand ein funktionierendes Beispiel. Es heißt immer kauf dir dort und dort die und die Komponente... Hmm das mit den Updates könnte evtl. etwas sein, habe da mal etwas installiert, jedoch wohl nicht das richtige oder alles. Ich schau mal wo ich eine Liste aller Updates finde .. |
Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)
Zitat:
da das Problem schon länger besteht, wäre der Einsatz einer anderen Komponente/Bibliothek vielleicht kein Fehler. [Edit: MySQL hat die Zugriffsbibliothek zwischen 4.1 und 5 geändert, deshalb funktioniert der Standard-DbExpress-Treiber vob Borland nicht mit Version >5. Abhilfe: Treiber der Berhard vorgeschalgen hat oder ![]() ] |
Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)
Ich habe mal geschaut ich habe nur mal nen Hotfix Rollup für Update 2 installiert, sonst nix und das kanns ja
irgendwie nicht sein, gibt es seits Borland nicht mal irgendwo ne Download Seite mit allen Updates und Patches für die Turbo Delphi Version, ich mein die Leute die sich das für über 400 Euro kaufen können so etwas doch erwarten. Das ganze Problem mit 3. Komponenten ist folgendes ich bin erst mal am prüfen inwiefern wir mit TurboDelphi kommen um es dann im nächsten Schritt evtl. zu kaufen, da ich ganz gern auch etwas mit Rapporten probieren will, naja und da zu sagen ich muß TurboDelphi kaufen und noch zig weitere Komponenten um dann erst zu schauen ob wir dann alles machen können was wir wollen ist schon Argh schlecht. Ich schau mir das mal an mit dem Alternativen dbExpress Treiber. Vielen dank für die Hilfe schon mal, auch wenn mein Ton ein wenig genervt klingt, was daran liegt das ich das hier seit Tagen probiere und einfach nichts klappen will. mfg TUX |
Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)
Zitat:
Jetzt muß ich nur noch raus finden, wie ich die Daten aus meiner Datenbank in meinem Programm verwenden kann. Da TSQLQuery.SQL.Text := 'Select * from Kunde' ja schön und gut is nur wo sind die Daten, das war ja auch ein Problem meiner ganzen Postings das ich das nirgendwo finden konnte, oder ich einfach zu blind war. |
Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)
Mit der Methode FindField deiner Query solltest du Zugriff auf die Daten haben. Ist bei allen Ableitungen von TTable und TQuery normalerweise der Weg, auf die Daten zuzugreifen.
Grüße Mikhal |
Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)
Ah ok, danke. Werde das gleich mal probieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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