Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Probleme mit MySQL unter Delphi (https://www.delphipraxis.net/75293-probleme-mit-mysql-unter-delphi.html)

Lich 17. Aug 2006 09:47

Datenbank: MySQL • Zugriff über: Delphi3

Probleme mit MySQL unter Delphi
 
Hallo an alle!

Hab ein Problem mit Delphi3 und zwar soll ich auf eine MySQL Tabelle zugreifen. Und ich hab schon alles Mögliche ausprobiert, wenn jemand von euch weiß, wie er mir helfen kann, der soll sich bitte melden

mikhal 17. Aug 2006 09:59

Re: Probleme mit MySQL unter Delphi
 
Zum Beispiel so: MySQL Zugriff ohne Komponenten.

Verwende mal die Foreneigene Suchfunktion mit den Stichworten MySQL und Zugriff

Grüße
Mikhal

samjones 17. Aug 2006 10:04

Re: Probleme mit MySQL unter Delphi
 
Die Alternative zum Mysql-Zugriff ohne Komponenten wäre der Weg über BDE und ODBC.
DBexpress und ADO gab es ja in Delphi 3 noch nicht, wenn ich richtig informiert bin.

Lich 17. Aug 2006 10:05

Re: Probleme mit MySQL unter Delphi
 
Könntet ihr mir da hilfestellung in Form von Quellcode geben?

Wäre klasse von euch...

ich weiß momentan wirklich nicht mehr weiter

Hab grad den Zugriff mit der C-API probiert klappt nicht Delphi 3 kennt longword, plongword, int64 nicht kann ich die ersetzen?

Andidreas 17. Aug 2006 10:12

Re: Probleme mit MySQL unter Delphi
 
du kannst dich auch mal nach der zeos komponente (ist kostenlos die komponente) umschauen... (kann dir leider nur nicht sagen ob man die in delphi 3 auch schon verwenden kann)

ansonsten gäbe es noch die mydac komponente aber die kostet was...

mikhal 17. Aug 2006 10:20

Re: Probleme mit MySQL unter Delphi
 
Schau dir mal das Tutorium bei Delphi-Source an.

Das sollte dir weiterhelfen.

Grüße
Mikhal

Lich 17. Aug 2006 10:22

Re: Probleme mit MySQL unter Delphi
 
Nein das funktioniert leider nicht, da sich die Zeoslib nicht unter Delphi 3 installieren lässt... warum auch immer

Klaus01 17. Aug 2006 10:35

Re: Probleme mit MySQL unter Delphi
 
Also laut dsdt sollte Zeos auch mit Delphi3 laufen:

Zitat:

Vorraussetzung ist allerdings eine datenbankfähige Delphi-Version
(Delphi 3+4, Delphi 5+ ab Prof.).
http://www.dsdt.info/tutorials/zeoslib/

Grüße
Klaus

Lich 17. Aug 2006 10:43

Re: Probleme mit MySQL unter Delphi
 
Lässt sich bei mir nicht installieren kann die Packages nicht compilieren

mkinzler 17. Aug 2006 10:46

Re: Probleme mit MySQL unter Delphi
 
Zitat:

Zitat von Lich
Lässt sich bei mir nicht installieren kann die Packages nicht compilieren

Irgendwelche Fehler?

Lich 17. Aug 2006 10:59

Re: Probleme mit MySQL unter Delphi
 
Nein nur in der contains clausel des Packages wird die Zeile ZToken rot makiert es kommt aber kein Fehler

RavenIV 17. Aug 2006 11:01

Re: Probleme mit MySQL unter Delphi
 
Zitat:

Zitat von Lich
Lässt sich bei mir nicht installieren kann die Packages nicht compilieren

vermutlich kannst Du nicht die aktuelle Version der ZEOS-Komponenten nehmen, sondern musst auf eine ältere ausweichen.

Lich 17. Aug 2006 11:05

Re: Probleme mit MySQL unter Delphi
 
Hab die 5.4.1 genommen is ne ältere, hab auch schon die allererste probiert und die klappt leider auch nicht. Der selbe Fehler.

mkinzler 17. Aug 2006 11:13

Re: Probleme mit MySQL unter Delphi
 
Welchr Delphiversion? 6.5.1 ist die aktuelle Version.

Lich 17. Aug 2006 11:14

Re: Probleme mit MySQL unter Delphi
 
Ich nutze delphi3 professional

mkinzler 17. Aug 2006 11:17

Re: Probleme mit MySQL unter Delphi
 
ZToken gibt es in der neuen Version überhaupt nicht mehr. Heißt jetzt wohl ZTokeniser. im Package ZCore. Dieses Package, wie auch alle anderen außer ZComponent sind nur Luafzeizpackages und können nicht installiert werden. es reicht sie zu compilieren. Nur ZComponent (welches den VCLDB-Wrapper enthält) muß installiert werden.

RavenIV 17. Aug 2006 11:49

Re: Probleme mit MySQL unter Delphi
 
Zitat:

Zitat von Lich
Hab die 5.4.1 genommen is ne ältere, hab auch schon die allererste probiert und die klappt leider auch nicht. Der selbe Fehler.

und? wie lautet der Fehler?

Lich 17. Aug 2006 12:25

Re: Probleme mit MySQL unter Delphi
 
Das hier ist der Fehler:

Zitat:

Nein nur in der contains clausel des Packages wird die Zeile ZToken rot makiert es kommt aber kein Fehler

Lich 17. Aug 2006 12:46

Re: Probleme mit MySQL unter Delphi
 
Ein Package mit dem Namen ZComponent hab ich gar nicht.

Edit: Habs doch grad gefunden aber nur in der aktuellen Version beim Öffnen der Datei wird der Fehler: "Fehler im Modul ZComponent: Contains Clausel nicht korrekt" angezeigt.

Lich 21. Aug 2006 08:06

Re: Probleme mit MySQL unter Delphi
 
Hab mal dieses Tutorial probiert, wenn ich jetzt versuche nen Datensatz auszuwählen, bekomm ich folgenden Fehler: Zugriffsverletzung bei Adresse 00D14ED4 im Modul 'libmysql.dll'. Lesen von Adresse 0020017B.

>>>Dieses<<<

Was ist da nu wieder falsch? :wall:

Hier ma mein Quellcode:

Zitat:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, mySQL,
StdCtrls;

type
TForm1 = class(TForm)
B_Verbinden: TButton;
Memo1: TMemo;
procedure B_VerbindenClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

type
TPostEntry = record
id: Integer;
gruppe: String[50];
end;

TPostEntries = Array[0..1] of TPostEntry;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure MakeTables(_myCon: PMySQL);
var
query: PChar;
begin
mysql_real_query(_myCon, 'CREATE TABLE posts(id int, author int, date datetime, entry text)', Length(query));
mysql_real_query(_myCon, 'CREATE TABLE users(id int, name varchar(50), pass varchar(50))', Length(query));
end;

procedure TForm1.B_VerbindenClick(Sender: TObject);

var
Posts: TPostEntries;
_myCon: PMySQL;
query, host, user, pass, db: PChar;
idAuthor: String; //zum Zwischenspeichern der Verfasser-ID
_myRes: PMySQL_Res; //hier wird der gesamte Ergebnissatz gespeichert
_mySubRes: PMySQL_Res; //benötigt, um Autor zu ermmitteln
_myRow: PMySQL_Row; //enthält den aktuellen Datensatz
_mySubRow: PMySQL_Row; //benötigt, um Autor zu ermmitteln
i: Integer;

begin
host := 'fs02';
user := 'daniel';
pass := 'daniel';
db := 'Daniel';

memo1.text := '';

_myCon := mysql_init(nil);
if _myCon = nil then
begin
ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren');
Exit;
end;

//anschließend wird die Verbindung hergestellt
if mysql_real_connect(_myCon, host, user, pass, db, 3306, nil, 0) = nil then
begin
ShowMessage('Die Verbindung konnte nicht hergestellt werden. Ursache: ' + mysql_error(_myCon));
Exit;
end;

ShowMessage('Verbindung hergestellt');

query := 'SELECT * FROM gruppen ORDER BY id';
mysql_real_query(_myCon, query, Length(query));

_myRes := mysql_store_result(_myCon); //alle Datensätze vom Server anfordern
if _myRes = nil then
begin
ShowMessage('Es konnten keine Datensätze zurückgebenen werden. Ursache: ' + mysql_error(_myCon));
Exit;
end;

for i := 0 to 1 do
begin
_myRow := mysql_fetch_row(_myRes); //Datensatz abholen
//Posts[i].id := InttoStr(_myRow[0]); //ID des Posts ist erstes Feld im Datensatz
Posts[i].gruppe := _myRow[1]; //Zeitpunkt ist drittes Feld

{idAuthor := _myRow[1];
query := PChar('SELECT name FROM users WHERE id=' + idAuthor);
_mySubRes := mysql_store_result(_myCon);
_mySubRow := mysql_fetch_row(_mySubRes);
Posts[i].author := _mySubRow[0];}

memo1.Text := memo1.text + ' ' + Posts[i].gruppe;

mysql_free_result(_mySubRes); //Ergebnissatz löschen
end;

//zum Schluss wird die Verbindung wieder geschlossen
mysql_close(_myCon);
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 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