Einzelnen Beitrag anzeigen

Steffen

Registriert seit: 19. Mär 2003
Ort: Hamburg
111 Beiträge
 
Delphi 7 Enterprise
 
#1

mySQL-Datenbankzugriff über C-API: mysql_create_db(...)

  Alt 25. Jan 2004, 14:15
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
  Mit Zitat antworten Zitat