Si quieres lo básico de Free Pascal, te recomiendo la siguiente página.
Preliminares
Antes de comenzar, necesitas tener instalado Free Pascal y MariaDB
En MariaDB necesitamos crear la base de datos "tutorial".
Comenzamos!
Por lo general, comienzo con el esqueleto de la programación de Pascal:
Program tutorial;
Uses
Crt;
Begin
End.
A partir de este esqueleto le voy agregando lo que vaya requiriendo. Lo hago así porque, si compilo este esqueleto, funciona, no marca error.
Solo he usado la librería de MySQL4 que viene por defecto en Free Pascal, me ha servido, y es el que quiero mostrar, se añade en la parte Uses:
Program tutorial;
{$codepage UTF8}
{$mode objfpc}{$H+}
Uses
Crt, MySQL4;
Begin
End.
Añado las directivas al compilador:
{$codepage UTF8}
{$mode objfpc}{$H+}
La primera la uso para poder imprimir letras con acentos y la segunda para las funcionalidades de MariaDB.
Hasta aquí, el programa realmente no hace nada, excepto mostrar error si algo te hace falta.
Para mejor entendimiento, usaré programación estructurada de la manera más simple posible.
En el cuerpo principal del programa limpiaré la pantalla para tener mayor área de trabajo.
En seguida, solicitaré los datos de conexión para la base de datos de MariaDB, para esto usaré las variables:
servidor, usuario, contrasena, basededatos
Todas de tipo string
Para esto imprimo la cadena informativa de la información que solicito e inmediatamente después leo la respuesta del usuario y la almaceno en la variable correspondiente:
Aquí viene la parte más práctica: la conexión a MariaDB.
Para la conexión se requieren las variables:
alloc (de allocate, asignación) y socket del tipo PMYSQL
qmysql del tipo TMYSQL
Primeramente realizamos la asignación para inicializar la conexión a MariaDB, para esto usamos:
Hasta aquí, el programa realmente no hace nada, excepto mostrar error si algo te hace falta.
Para mejor entendimiento, usaré programación estructurada de la manera más simple posible.
En el cuerpo principal del programa limpiaré la pantalla para tener mayor área de trabajo.
En seguida, solicitaré los datos de conexión para la base de datos de MariaDB, para esto usaré las variables:
servidor, usuario, contrasena, basededatos
Todas de tipo string
Para esto imprimo la cadena informativa de la información que solicito e inmediatamente después leo la respuesta del usuario y la almaceno en la variable correspondiente:
Program tutorial;
Uses
Crt, MySQL4;
Var
servidor, usuario, contrasena, basededatos : String;
Begin
ClrScr;
Write('Servidor: ');
Readln(servidor);
Write('Usuario: ');
Readln(usuario);
Write('Contraseña: ');
Readln(contrasena);
Write('Base de Datos: ');
Readln(basededatos);
End.
Aquí viene la parte más práctica: la conexión a MariaDB.
Para la conexión se requieren las variables:
alloc (de allocate, asignación) y socket del tipo PMYSQL
qmysql del tipo TMYSQL
Primeramente realizamos la asignación para inicializar la conexión a MariaDB, para esto usamos:
alloc := mysql_init(PMYSQL(@qmysql));
Después de esto formateamos los datos de conexión para poder usarlos con el conector MySQL para conectar a MariaDB así:
socket := mysql_real_connect(alloc, PChar(servidor), PChar(usuario), PChar(contrasena), PChar(basededatos), 0, Nil, 0);
Solo nos resta verificar la conexión y en caso de error, mostrar la información correspondiente con:
Después de esto formateamos los datos de conexión para poder usarlos con el conector MySQL para conectar a MariaDB así:
socket := mysql_real_connect(alloc, PChar(servidor), PChar(usuario), PChar(contrasena), PChar(basededatos), 0, Nil, 0);
Solo nos resta verificar la conexión y en caso de error, mostrar la información correspondiente con:
If socket=Nil thenBeginWriteln(stderr,'No se pudo conectar a MariaDB');Writeln(stderr, 'El error fue: ', mysql_error(@qmysql));halt(1);End;
Por lo que nuestro código quedaría así:
Program tutorial;
{$codepage UTF8}
{$mode objfpc}{$H+}
Uses
Crt, MySQL4;
Var
servidor, usuario, contrasena, basededatos : String;
alloc,socket : PMYSQL;
qmysql : TMYSQL;
Begin
ClrScr;
Write('Servidor: ');
Readln(servidor);
Write('Usuario: ');
Readln(usuario);
Write('Contraseña: ');
Readln(contrasena);
Write('Base de Datos: ');
Readln(basededatos);
alloc := mysql_init(PMYSQL(@qmysql));
socket := mysql_real_connect(alloc, PChar(servidor), PChar(usuario), PChar(contrasena), PChar(basededatos), 0, nil, 0);
If socket=Nil Then
Begin
Writeln (stderr,'Couldn''t connect to MySQL.');
Writeln (stderr, 'Error was: ', mysql_error(@qmysql));
halt(1);
end;
End.
Si al llegar aquí puedes compilar sin error, estás listo para la segunda parte de este tutorial; en caso contrario, habrá que revisar tu código para encontrar el error, porque, de que funciona, funciona...
Saludos y hasta la próxima!
Segunda parte del tutorial aquí
No hay comentarios.:
Publicar un comentario