Saudações a todos,
Costumo utilizar o Lazarus como IDE de desenvolvimento, e em sua documentação consta um exemplo de acesso ao servidor MySQL através de sua API. Ocorre que esse exemplo aborda a versão 4.0 (que está bastante defasada). A titulo de curiosidade, segue abaixo as partes mais importantes do código:
program MySql_Conn;
uses mysql4;
const
DataBase : Pchar = 'testdb';
Query : Pchar = 'Select * from Banco_de_Dados';
Host : Pchar = 'localhost';
User : Pchar = 'Usuario';
Passwd : Pchar = 'Senha';
var
count, num : longint;
code : integer;
sock : PMYSQL;
qmysql : TMYSQL;
qbuf : String[160];
rowbuf : TMYSQL_ROW;
dummy : string;
recbuf : PMYSQL_RES;
alloc : PMYSQL;
begin
if paramcount = 1 then
begin
Dummy := paramstr(1)+#0;
DataBase := @Dummy[1];
end;
alloc := mysql_init(PMYSQL(@qmysql)); {Inicia um objeto MYSQL necessario a chamada da função: mysql_real_connect}
sock := mysql_real_connect (alloc, host, user, passwd, DataBase, 0, nil, 0); // Importante
if sock = nil then
begin
writeln(stderr,'Nao foi possivel conectar ao MySql');
halt(1);
end;
if mysql_select_db(sock,DataBase) < 0 then {}
begin
writeln(stderr,'Nao foi possivel selecionar o Banco ',DataBase);
halt(1);
end;
writeln('Executando consulta: ',Query,'...');
if (mysql_query(sock,Query) < 0) then
begin
writeln(stderr,'Query failed');
writeln(stderr,mysql_error(sock));{Retorna o erro ocorrido na chamada anterior}
halt(1);
end;
recbuf := mysql_store_result(sock); {Armazena o resultado completo de uma consulta bem sucedida}
if RecBuf = nil then
begin
writeln('Consulta retornou resultado nulo.');
mysql_close(sock);
halt(1);
end;
writeln('Liberando a memoria alocada pelo conjunto resultado ...');
mysql_free_result(recbuf);{Libera a memória ocupada pelo: mysql_store_result}
writeln('Fechando a conexao com o MYSQL');
mysql_close(sock); {Fecha a conexão}
halt(0);
end.
Como pôde ser visto, o código acima usa a biblioteca "mysql4'. Gostaria de saber como acessar a API das versões mais recentes do MySQL, especificamente a versão 5.5 considerando que o Lazarus possui a biblioteca "mysql55".
PS.: Não me interessa usar os componentes "SQLdb" nem Zeus.
Agradeço a quem puder me ajudar.