Tach an alle.
Sitze seit mehreren Stunden, und komme nicht weiter.
Das Tutorial über die DirectMySQLObjectj hilft auch nicht weiter
Ich teste das alles im internen nezt habe ein Linux
sql server laufen, man kann sich verbinden. die netstat anzeige zeigt wenn ich unter delphi debugge, das die
sql verbindung in dem augenblick
MySQLResult := MySQLClient.query(abfrage, true, ABGelaufen);
zum server von mir besteht.!!!
aber die TmySQLResult ist immer nil.!!!! habe das
SQL statemen direct gestest, funzt alles...!!!
komme echt nicht weiter bin für jede hilfe dankbar...)))
Die Classe wird im oncreate der hauptunit aufgerufen
Delphi-Quellcode:
//Die Classen die Mit Den einstellungen Arbeiten
MySQLDatenbank:= TMySQLClass.Create;
und dann anschliesend per button (hauptform) aufgerufen
MySQLDatenbank.FGetUserIDFromSQL('User', 'Pass');
das ist die gesammte Classe
Delphi-Quellcode:
unit MySQLClass;
interface
uses
classes, umysqlvio, uMysqlCT, uMysqlClient, uMysqlHelpers;
{$UnDef NEVERENABLEME}
{Note: has basically the same role as EXTRA_DEBUG in mysql and should not be enabled except for testing purposes}
{$Define HAVE_COMPRESS}
{this will actually include zlib code into the executable}
{$Define _WIN_}
{this will actually enable windows winsock imports}
{.$Define HAVE_SSL}
{this will actually include openssl calls into the executable and enable ssl communication}
{NOTE: you will need libeay32.dll and ssleay32.dll for ssl to work}
type
TMySQLClass =
class(TObject)
Protected
MySqlClient : TMYsqlClient;
MySqlResult : TMYSqlResult;
public
constructor Create;
destructor Destroy;
function FGetUserIDFromSQL(ClientLogin, ClientPass:
string): integer;
Procedure PDeleteFromSQL;
//Procedure PSaveToSQL;
end;
implementation
uses
main, SysUtils, dialogs;
constructor TmySQLClass.Create;
begin
inherited Create;
MySQLClient := TmySqlClient.create;
MySQLClient.Host := form1.DatabaseServerEdit.Text;
MySQLClient.Port := strtoint(form1.DatabasePortEdit.text);
MySQLClient.User := '
someuser';
//form1.LoginEdit.Text;
MySQLClient.Password := '
somepass';
//form1.PassEdit.Text;
MySQLClient.db := '
damned_db';
MySQLClient.UnixSocket:= '
';
MySQLClient.UseNamedPipe:= false;
MySQLClient.UseSSL := false;
MySQLClient.Compress := true;
MySQLClient.TrySockets:= false;
end;
destructor TmySQLClass.Destroy;
begin
inherited Destroy;
MySQLClient.destroy;
end;
Function TMySQLClass.FGetUserIDFromSQL(ClientLogin, ClientPass :
String): integer;
var
abfrage :
string;
AbGelaufen : Boolean;
i : integer;
begin
abfrage := '
select User_id, Login, Pass FROM benutzer WHERE Login='+ClientLogin;
try
if MySQLClient.connect
then
begin
MySQLResult := MySQLClient.query(abfrage, true, ABGelaufen);
if MySQLResult <>
nil then
begin
for i:= 0
to MySQlResult.FieldsCount - 1
do
begin
showmessage(MySQLResult.FieldValue(i));
//result := die id
end;
// for
end;
//if
end // if
else showmessage('
Can t connect to Database Server '+ MySQLClient.LastError);
finally
MySqlClient.close;
end;
// try-finally
end;