Thema: Delphi MySql Connection

Einzelnen Beitrag anzeigen

Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#1

MySql Connection

  Alt 31. Jan 2010, 12:05
Servus, ich hab heute versucht eine connection mit einem mysql server herzustellen. Hierfür verwende ich die mysqllib.dll, kekapselt durch eine mysql.pas

Mein code schaut wie folgt aus:
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  _myCon: PMySQL; //unseren Verbindungsdeskriptor
  host, user, pass, db: PAnsiChar; //die Anmeldedaten
begin
  //wir werden uns als Root-Benutzer in localhost einloggen, ohne eine
  //bestimmte Datenbank auszuwählen
  host := 'XX.XXX.XX.XX';
  user := 'root';
  pass := '';
  db := '697_datenbank';

  //jetzt wird _myCon initialisiert
  _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 //HIER
  begin
    ShowMessage('Die Verbindung konnte nicht hergestellt werden. Ursache: ' + mysql_error(_myCon));
    Exit;
  end;

  ShowMessage('Verbindung hergestellt');

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

procedure TForm1.FormCreate(Sender: TObject);
begin
  libmysql_fast_load(nil);
end;

end.
In der markierten zeile bleibt er immer hängen, was mach ich falsch ? Ich benutzte Delphi 2009, falls das irgendwas mit der zeichenencodierung zu tun hat.

MfG - Ghost007

[edit=mkinzler]Code-Tag durch Delphi-Tag ersetzt Mfg, mkinzler[/edit]
Angehängte Dateien
Dateityp: pas mysql_128.pas (126,2 KB, 27x aufgerufen)
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat