Ok, this:
program testmysql;
{
Adapted for MySQL 5.1.
Added database name
added some glue code to run the StoreText procedure
}
{$mode objfpc}{$H+}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX} {$IFDEF UseCThreads}
cthreads,
{$ENDIF} {$ENDIF}
Classes,
SysUtils,
inifiles,
sqldb, mysql51conn;
var
MYSQL_Host: string;
MYSQL_User: string;
MYSQL_Password: string;
MYSQL_Port: integer;
MYSQL_DatabaseName: string;
procedure StoreText(sMessage : string);
var dbConn : TMySQL51Connection;
sqlTrans : TSQLTransaction;
sqlQuery : TSQLQuery;
begin
dbConn := TMySQL51Connection.Create(nil);
sqlQuery := TSQLQuery.Create(nil);
sqlTrans := TSQLTransaction.Create(nil);
dbConn.HostName := MySQL_Host;
dbConn.UserName := MySQL_User;
dbConn.Password := MySQL_Password;
dbConn.Port := MySQL_Port;
dbConn.DatabaseName := MySQL_DatabaseName;
dbConn.Transaction := sqlTrans;
sqlQuery.Database := dbConn;
sqlQuery.Transaction := sqlTrans;
dbConn.Connected := true;
sqlQuery.SQL.Text := 'Insert into messages_received (date_time_stamp, message) values (''' +
FormatDateTime('yyyy-mm-dd hh:nn:ss', Date + Time) + ''',''' + sMessage + ''')';
sqlQuery.ExecSQL;
dbConn.Connected := false;
FreeAndNil(sqlQuery);
FreeAndNil(sqlTrans);
FreeAndNil(dbConn);
end;
var
Message: string;
IniFile : TIniFile;
begin
writeln('getting settings from ini file');
IniFile := TIniFile.Create(getcurrentdir + PathDelim + 'database.ini');
MYSQL_Host:=IniFile.ReadString('Database','Host','127.0.0.1');
MYSQL_Port:=IniFile.ReadInteger('Database','Port',3306);
MYSQL_DatabaseName:=IniFile.ReadString('Database','DatabaseName','');
MYSQL_User:=IniFile.ReadString('Database','User','root');
MYSQL_Password:=IniFile.ReadString('Database','Password','');
IniFile.Free;
Message:='first time';
writeln(Message);
StoreText(Message);
// Wait a bit so we get a new pk
Sleep(1000);
Message:='2nd time';
writeln(Message);
StoreText(Message);
// Wait a bit so we get a new pk
Sleep(1000);
Message:='third time';
writeln(Message);
StoreText(Message);
end.
(with database.ini created and adjusted to taste)
seems to work fine on my:
Win Vista client
MySQL 5.1.49-3 server on Linux
using libmysql.dll... who knows what version, but probably 5.1 something
and either
FPC version 2.5.1 [2011/09/04] for i386
or
FPC version 2.7.1 [2011/09/16] for i386