1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
// dans MySQL.pas
PMYSQL = ^TMYSQL;
TMYSQL = record
net: TNET; // Communication parameters
connector_fd: gptr; // ConnectorFd for SSL
host, user, passwd, unix_socket, server_version, host_info, info, db: pChar;
port, client_flag, server_capabilities: longword;
protocol_version: longword;
field_count: longword;
server_status: longword;
thread_id: longword; // Id for connection in server
affected_rows: my_ulonglong;
insert_id: my_ulonglong; // id if insert on table with NEXTNR
extra_info: my_ulonglong; // Used by mysqlshow
packet_length: longword;
status: mysql_status;
fields: PMYSQL_FIELDS;
field_alloc: TMEM_ROOT;
free_me: my_bool; // If free in mysql_close
reconnect: my_bool; // set to 1 if automatic reconnect
options: TMYSQL_OPTIONS;
scramble_buff: array [0..8] of char;
charset: PCHARSET_INFO;
server_language: longword;
end;
// voici la fonction déclarée dans mysl.pas
mysql_real_connect: function(_mysql: PMYSQL; const host, user, passwd, db: pChar; port: longword; const unix_socket: pChar; clientflag: longword): PMYSQL; stdcall;
=======================================================================================================
//dans mon programme
procedure Tform1.connexion;
Var
user, host ,pwd: string;
portip: integer;
MySQLC: PMYSQL;
begin
host:='adresse du serveur';
user:='nom utilisateur'; // qui fonctionne bien avec la version delphi2005
pwd:='mot de passe';
// le paramètre suivant est le nom de la base, que je n'uitilise que si la connexion est correcte
portip:=3306 // classique et fonctionne bien avec la version 2005
// les paramètres uivants ne sont pas utiles pour la connexion
MySQLC := mysql_init(nil);
if mysqlc<>nil then
begin
mysql_options(mysqlC,MYSQL_OPT_COMPRESS,nil);
if mysql_real_connect(mysqlC, pChar(host), pChar(user), pChar(pwd), nil, portip, nil, 0)=nil then
begin
affichage de 'La connexion a echouée';
exit;
end
else
begin
affichage de 'Connexion OK';
end;
end; |
Partager