MySQL direct
Verbindung aufbauen
Der erste Schritt beim Arbeiten mit einem Datenbankserver ist das Aufbauen einer Verbindung. Zuvor sind aber einige Vorarbeiten nötig:
Folgende MySQLdirect-Units müssen in den Interface-Abschnitts der Hauptunit unseres Projekts eingebunden werden:
uses ..., umysqlvio, uMysqlCT, uMysqlClient, uMysqlHelpers;
Direkt danach noch vor den Typdeklarationen muss die Include-Datei, die sich im Download der Units befindet, eingebunden werden:
{$I mysqlinc.inc}
Da es sich hier wie gesagt nicht um Komponenten handelt, sind wir selbst für das Erzeugen und Freigeben zuständig. Im private-Abschnitt von TForm1 deklarieren wir dafür folgende Objektreferenzen:
private
FMysql: TMysqlClient;
FResult: TMysqlResult;
FMySql soll auf das Objekt verweisen, das für den Datenbankzugriff benötigt wird. FResult ist für die Ergebnismenge von Abfragen zuständig.
Im OnCreate-Ereignis des Hauptfenster wird FMySql dann erzeugt:
procedure TForm1.FormCreate(Sender: TObject);
begin
FMysql := TMysqlClient.create;
end;
Bei Programmende muss das Objekt natürlich auch wieder freigegeben werden:
procedure TForm1.FormDestroy(Sender: TObject);
begin
FMysql.Free;
if FResult<>nil then
FResult.free;
end;
Kommen wir nun zum Herstellen der Verbindung zum MySQL-Server. Dafür müssen einige Parameter gesetzt werden:
procedure TForm1.Button1Click(Sender: TObject);
begin
// Eigenschaften setzen
FMysql.Host := 'localhost';
FMysql.port := 3306;
FMysql.user :=' user1';
FMysql.password := '1234';
FMysql.UnixSocket := '';
FMysql.Db := 'test'; // Datenbank auf dem Server
FMysql.UseNamedPipe := false;
FMysql.UseSSL := false;
FMysql.Compress := true;
FMysql.TrySockets := false;
if FMysql.Connect then
ShowMessage('Verbindung aufgebaut')
else
ShowMessage('Fehler beim Verbinden: '+FMysql.LastError);
end;
Und wenn wir die Verbindung wieder beenden wollen, muss ein Button mit folgendem Code existieren:
procedure TForm1.Button2Click(Sender: TObject);
begin
if FMysql.Connected then
FMysql.close
else
ShowMessage('Nicht verbunden!');
end;