Thema: Delphi MySQL ohne Komponenten

Einzelnen Beitrag anzeigen

mrbrown

Registriert seit: 13. Nov 2009
5 Beiträge
 
#304

Re: MySQL ohne Komponenten

  Alt 13. Nov 2009, 07: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
  Mit Zitat antworten Zitat