Acceso a bases de datos

Hola me llamo Luis,
estoy aprendiendo delphi y necesito saber cual es la mejor forma de acceder a una base de datos, osea que componentes necesito, me gustaría si puedes que me envíes un pequeño ejemplo de acceso a una base de datos, como ejecutarías la consulta y metes los datos en un Listview por ejemplo, te agradecería que me enviases este pequeño ejemplo (solo el código básico para realizar esto).
Muchas gracias
Un saludo
[email protected]
Respuesta
1
El planteamiento de tu pregunta es demasiado genérico: neccesitaria saber que gestor de base de datos vas a atacar (SqlServer, InterBase, MySql, ...) y que version de Delphi usas. Pero bueno trataré de generalizar y supondré que usas MySql (gestor muy bueno y gratuito).
Puedes atacar la base de datos con componentes nativos de Delphi (DbExpress) o con componentes de terceros específicos para MySql (yo uso TMySql de SciBit "http://www.scibit.com"). El proceso es siempre similar: primero usas un componente SERVER con el cual te conectas a la base de datos, facilitando los datos de Usuario, Password, Host, Port y DataBaseName. Una vez conectado tienes componentes Query con los que enviar consultas haciendo algo así como esto (suponemos que el nombre del componente query es qryClientes):
qryClientes.Sql.Clear; //quitamos cualquier consulta previa
qryClientes.Sql.Add('SELECT * FROM clientes WHERE provincia = 46'); //creamos una consulta para obtener todos los clientes de Valencia
qryClientes.Open; //abrimos la consulta y ya tenemos los datos como si fueran una tabla
Ahora podemos manejar esta tabla y recorrerla a nuestro antojo, por ejemplo:
qryClientes.First;
qryClientes.Next;
qryClientes.Locate(....);
etc.
Si queremos añadir o borrar registros de una tabla:
qryClientes.ExecSql('INSERT INTO clientes (nombre, direccion, nif) VALUES ("LUIS", "MADRID", 12345678)');
Dentro de los componentes de SciBit hay un TMySqlDataSet que te mermite acceder a las tablas de la base de datos en tiempo real para hacer mantenimientos como si fueran tablas Paradox o DBF, pudiendo enviar acciones como:
qryClientes.Delete;
qryClientes.Edit;
qryClientes.FieldByname('Nombre').Value := 'LUIS';
qryClientes.FieldByName('DIRECCION').Value := 'MADRID';
qryClientes.FieldByName('NIF').Value := 12345678;
qryClientes.Post;
Espero que todo esto te sea de utilidad, no obstante no dudes en seguir consultando si te hace falta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas