Registriert seit: 13. Nov 2009
5 Beiträge
|
Re: MySQL ohne Komponenten
13. Nov 2009, 08:38
Hu,
kann mir wer bezüglich eines kleinen Problems helfen?
Nutze die MySQL Verbindung wie im ersten Post erklärt mit der neuen .pas datei.
Folgdener Code:
Delphi-Quellcode:
procedure TForm4.Button1Click(Sender: TObject);
var
_myCon: PMySQL; //unseren Verbindungsdeskriptor
host, user, pass, db: PChar; //die Anmeldedaten
query: PChar;
titel, datum, von, bis, test : string;
begin
titel := Edit1.text;
von := Edit2.Text;
bis := Edit3.Text;
test := RichEdit1.Text;
libmysql_load( nil);
ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+
' konfig.ini');
//wir werden uns als Root-Benutzer in localhost einloggen, ohne eine
//bestimmte Datenbank auszuwählen
host := Pchar(ini.Readstring(' Server',' ServerIp',' '));
user := Pchar(ini.Readstring(' Server',' Username',' '));
pass := Pchar(ini.Readstring(' Server',' Passwort',' '));
db := Pchar(ini.Readstring(' Server',' Datenabnk',' '));
//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
begin
ShowMessage(' Die Verbindung konnte nicht hergestellt werden. Ursache: ' + mysql_error(_myCon));
Exit;
end;
mysql_select_db(_myCon, Pchar(ini.Readstring(' Server',' Datenbank',' '))); //zu Datenbank wechseln
mysql_real_query(_myCon, ' INSERT INTO testtable(titel, datum , von, bis, text) VALUES (titel, datum, von, bis, text)', Length( query));
//zum Schluss wird die Verbindung wieder geschlossen
mysql_close(_myCon);
close;
end;
Wie man sieht soll eine MySQL Verbindung aufgebaut werden. In die Datenbank sollen dann 4 Werte (titel, datum, von, bis) sowie eine ID (Autoincrement, muss also nicht übergeben werden) eigetragen werden.
Problem ist, dass nichts übergeben wird. Ebenso bin ich mir nicht mal sicher ob er überhaupt die DB auswählt.
Könnte mir da ml wer helfen?
Gruß
MrBrown
|