Einzelnen Beitrag anzeigen

Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Klassenproblem bei MySQL über Mysql-direct library

  Alt 23. Mai 2008, 19:04
Datenbank: MySQL • Version: 5 • Zugriff über: Mysql-direct library
Hallo, habe folgenden Code:


Meine Klassenunit:
Delphi-Quellcode:
unit USQL;

interface

uses umysqlvio, uMysqlCT, uMysqlClient, uMysqlHelpers;

type
TSQLVerbindung=class
  private


  public
  FMysql: TMysqlClient;
  FResult: TMysqlResult;
  Function Connect(Host,User,Passwort:String;DB:String='Test'):String;
  Function Disconnect():String;
  destructor Destroy();
  constructor Create();
end;


{$I mysqlinc.inc}

implementation


Function TSQLVerbindung.Connect(Host,User,Passwort:String;DB:String='Test'):String;
begin

  FMysql.Host :=host;
  FMysql.port := 3306;
  FMysql.user :=user;
  FMysql.password := Passwort;
  FMysql.UnixSocket := '';
  FMysql.Db := DB; // Datenbank auf dem Server
  FMysql.UseNamedPipe := false;
  FMysql.UseSSL := false;
  FMysql.Compress := true;
  FMysql.TrySockets := false;
  if FMysql.Connect then
    Result:='SQL-Verbindung wurde hergestellt!'
  else
    Result:='Fehler beim Verbinden: '+FMysql.LastError;

end;

Function TSQLVerbindung.Disconnect():String;
begin
 if FMysql.Connected then begin
    FMysql.close;
    Result:='Verbindung getrennt';
 end
  else
    Result:='Nicht verbunden!';
end;


constructor TSQLVerbindung.Create();
begin
  inherited Create;
  FMysql := TMysqlClient.create;
end;

destructor TSQLVerbindung.destroy();
begin
  inherited destroy;
end;




end.

Meine Testunit:
Delphi-Quellcode:
var
  Form1: TForm1;
  sSQL:TSqlverbindung;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ssql.Create;
showmessage(ssql.Connect('localhost','root','123456'));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
showmessage(ssql.Disconnect);
sleep(2000);
ssql.Destroy;
end;
Leider kommt beim Ausführen immer eine Zugriffsverletzung Vielleicht könnt Ihr mir helfen?
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat