Einzelnen Beitrag anzeigen

Benutzerbild von Deltachaos
Deltachaos

Registriert seit: 20. Feb 2008
Ort: Berlin
195 Beiträge
 
Delphi 7 Personal
 
#5

Re: MYSQL Direct --> Tabelle erstellen

  Alt 6. Mai 2008, 17:06
Zitat von christian_r:
Zitat von Logan:
SQL Direct besitzt solche Methoden nicht
MySQL Direct muss sie auch nicht besitzen. Denn es schickt lediglich Deine Query an die Datenbank-Engine, und diese entscheidet, ob die Query ausführbar ist oder nicht, und sendet Dir entweder einen Fehlercode mit entsprechender Fehlermeldung oder ein Ergebnis.

Wäre es umgedreht, dann müsste MySQL Direct quasi eine eigene DB-Engine verwenden, damit auch jede denkbare Kombination von MySQL-Syntax vor dem Versenden validiert werden kann. Die DB-Engine müsste zusätzlich konsequent weiterentwickelt werden um neue MySQL-Versionen unterstüzen zu können. Das wäre dann ein völlig abwegiges Konzept.
Da ich mich in letzter Zeit auch mit dem Thema beschäftigt habe kann ich dir meines wissens nach volgendes veraten:

Delphi-Quellcode:

  form1.FMysql.Host := 'IP';
  form1.FMysql.port := 3306; //soweit ich weis standard

  form1.FMysql.user := 'dfgdfg'; //username
  form1.FMysql.password := 'dshfhd'; //Password dser Dtb.
  form1.FMysql.UnixSocket := '';
  form1.FMysql.Db := 'gkfkg'; // Datenbank auf dem Server

  form1.FMysql.UseNamedPipe := false;
  form1.FMysql.UseSSL := false;
  form1.FMysql.Compress := true;
  form1.FMysql.TrySockets := false;
  if form1.FMysql.Connect //wen verbunden
  then
    ...
  else
    ...
fals du dass noch nicht wusstest. aber jetzt zum interresanten teil.

Delphi-Quellcode:
var ex: boolean;
begin
  form1.FMysql.query('"Tabellen_Name"("Spalte 1" "Datentyp_für_Spalte_1","Spalte 2" "Datentyp_für_Spalte_2")', true,
  ex);
{
  Bsp.
    CREATE TABLE customer
    (First_Name char(50),
    Last_Name char(50),
    Address char(50),
    City char(50),
    Country char(25),
    Birth_Date date) 
näheres dazu [url=http://sql.1keydata.com/de/sql-create-table.php]hier[/url]
}

  if ex
  then
    showmessage('Befehl Ausgefürt')
  else
    showmessage('FEHLER: ' + FMysql.LastError); //MySQL Fehlermeldung ausgeben
end;
soweit ich weis kanst du per Query jeden MySQL Befehl ausfüren. binn mir aber nicht sicher!

Maximilian Ruta
  Mit Zitat antworten Zitat