Hallo!
Ich arbeite gerade daran über die C-
API und
mysql.pas auf meine
mySQL-Datenbank zu zugreifen.
es klappt eigentlich auch ganz gut, nur bekomme ich gerade einen komischen Fehler und ich weiß nicht woran es liegt...
Nachdem ich mit mit der Datenbank verbunden habe, möchte ich eine Datenbank erstellen. Eigentlich gibt's in der
API die Funktion "mysql_create_db(<name>)" mit der man eine Datenbank anlegen kann. (Intern macht die Funktion nichts anderes, als "CREATE DATABASE + <name>")
Ich habe also folgendes versucht:
Delphi-Quellcode:
uses
...
mySQL;
var
DataBaseSocket: PMySQL;
...
function TDataBaseModule.CreateDatabase(strDatabaseName :
String) : Boolean;
begin
if Connected
then
begin
Result := True;
try
mysql_create_db(DataBaseSocket, PAnsiChar(strDataBaseName))
// Hier entsteht der Fehler!
except
Result := False;
ShowMessage('
Fehler bei CreateDataBase!' + mysql_error(DataBaseSocket));
end
end
else
begin
ShowMessage('
Um eine Datanbankanfrage auszuführen muss eine Verbindung zur Datenbank bestehen!');
Result := False
end
end;
Wobei ich einen Speicherzugriffsfehler von Delphi geliefert bekomme.
Wenn ich aber anstatt der Funktion "mysql_create_db()" folgendes mache:
mysql_real_query(DataBaseSocket, PAnsiChar('CREATE DATABASE ' + strDataBaseName),Length('CREATE DATABASE ' + strDataBaseName))
dann funktioniert alles bestens und es wird eine Datenbank angelegt.
Hat jemand damit etwas mehr Erfahrung, als ich und kann mir sagen woran das liegt?
Vielen Dank im Voraus,
Steffen