Está en la página 1de 0

INTRODUCCIN.

Este tutorial va dirigido a aquellas personas que estn comenzando a crear proyectos con
Bases de Datos y se topan con el problema de conexin. Actualmente hay una gran variedad
de lenguajes de programacin, componentes y gestores de BD; en este tutorial se eligi como
base de datos SQL SERVER y como lenguaje de programacin Delphi 2010(inclusive se puede
llevar el cdigo a C++ cambiando la sintaxis de punteros --> y strings).
LA BASE DE DATOS
Manos a la obra y a crear la base de datos:

Colocamos un nombre en mi caso ser Tutorial:

Creada la base de datos es momento de crear las tablas donde guardar los datos. Yo prefiero
hacer mi script como seguridad a pesar que podemos hacerlo con los botones.
GINKAKU
1

Bien quiero crear una tabla llamada Persona que tendr los siguientes campo:
Nombre y Paid que sern un string
Edad que ser un numero
Y cdigo. Este campo es el que diferenciara cada tupla de las dems, es una llave
nica. Adems por comodidad ma le digo que se incremente automticamente de 1
en 1 con el comando IDENTITY.

Ejecutado la sintaxis sql podremos ver la tabla:



GINKAKU
2
Insertemos unos valores:

Ntese que cuando inserto me olvido del campo CODIGO, esto es porque se incrementara solo
y solo tengo que preocuparme de los otros campos. Ejecutamos la sintaxis y veamos que ha
guardado seleccionando las primeras filas:


Como ven el cdigo se genera solo proporcionando la integridad que una llave primaria
necesita. Bueno eso es todo por ac, pasemos a lo interesanteDELPHI.
DELPHI
LA CONEXIN
Para conectar a la base de datos desde delphi hay varias maneras. Hay conexiones ODBC y
conexiones ADO, para hacer breve este tutorial no explicare las ODBC, pero si alguien en un
futuro lo necesita con gusto lo aado al tutorial.
GINKAKU
3
Por qu elegir ADO? Bueno para MI es por simplicidad ya que mi proyecto lo puedo llevar a
cualquier computadora sin configurar NADA, solo debo tener mi base de datos en SQL Server y
mi ejecutable funcionara perfectamente. Comencemos no?

En la paleta de delphi encontraremos esa seccin. Mximo con 3 de estos elementos nos es
ms que suficiente. Bajemos un AdoConnection:

Ahora veamos sus properties:

En su propiedad NAME le puse Conexion.
En su propiedad LOGINPROMPT le puse false, para que no pregunte un password.
Y ahora ConnectionString se nos abrir la siguiente ventana:
GINKAKU
4




Presionamos en Build para configurar la conexin:









GINKAKU
5


En este caso yo elijo Provider for SQL Server, pero soporta muchas ms:




En el punto(2). Elegimos Usar la seguridad integrada de Windows NT. Y en el
punto(3) elegimos nuestra base de Datos, pulsamos en probar conexin para ver que
todo est bien:
GINKAKU
6


Listo!!! Nuestro proyecto ya est conectado con la base de datos, uff, y ahora
qu?...A mostrar datos, ingresarlos y modificarlos!!!!!
LA VISUALIZACION
Para mostrar datos yo sugiero ADODataSet, a pesar que hay ADOTABLE o ADOQUERY, el Data
Set es mucho ms potente a mi gusto, podemos hacer consultas anidadas, darle formato a los
campos con decimal por ejemplo,etc.
1er) pasoBajemos uno de estos:

En sus propiedades:
Connection.- elegimos nuestra conexin anteriormente realizada.
En CommandTex.- colocaremos lo siguiente:
GINKAKU
7

Pulsamos ok, y en Active colocamos true.
2Do) paso: Bajemos un Datasource:

En sus propiedades:
En NAME le puse DataConsulta.
Y en dataSet le ponemos nuestro dataset Consulta.
3er) paso: Bajemos un DBGrid:

En sus propiedades:
En DataSource.- Colocamos nuestro DataConsulta. Y listo:
GINKAKU
8

CODIGO no tiene porque ver nuestro cliente, eso es algo nuestro, en el Editor de columnas
ocultemos ese dato para usarlo ms adelante.

Debe quedar asi:

Bueno y asi lo tenemos despus de darle un poco de fuente y centralizado:







GINKAKU
9
Corramos el proyecto:

EXTRA: Lo olvidaba para que se vea seleccionada toda la fila, en la propiedad del DBGrid
en Options dgRowSelect pongmosla en true.
Bueno ya terminamos la parte de visualizacin. Comencemos a aadir registros y a
modificarlos ok?!!!
COMO INSERTAR
Bueno primero quiero repetir 100 veces ms, que hay muchas formas para realizar este
tipo de operaciones.
En forma acadmica se me inculco hacer que trabaje al mximo el motor de base de datos,
por eso hago uso de los PROCESOS ALMACENADOS. Brevemente dir que es un pedazo
de cdigo sql que se ejecutara cuando nosotros queramos. Existen otros automticos(LOS
DISPARADORES O TRIGGER) que en esta ocasin no discutir. Comenzamos?
Volvamos al SQL SERVER y creemos un proceso almacenado:


GINKAKU
10




Esta es la sintaxis, pueden ver que despus del Nombre del Procedure hay 3 variables. Si
tiene un @ delante se considera variable. Simplemente hago un INSERT INTO como
hicimos anteriormente solo que los datos a ingresar son variables que pueden tomar
cualquier valor. Lo ejecutamos y ya tenemos un procedimiento almacenado. Ac podemos
verlo:








GINKAKU
11
Bueno volvamos a Delphi y primero coloquemos edits , labels y un boton en nuestro form:

Ahora bajemos un ADOStoredProcess:

En sus propiedades:
Le puse en Name INSERTAR
Le decimos que se conecte con Conexin.
En procedureName debemos elegir nuestro procedimiento:


GINKAKU
12







A veces me sirve de ayuda visualizar las variables que me pide el procedimiento, las vemos en
Parameters:
GINKAKU
13



Finalmente doble click sobre nuestro botn y ponemos este cdigo:



Como ven asigno los valores de Edit1 a @NOMBRE, Edit2 a @EDAD y Edit3 a @PAIS.
Ejecutamos el procedimiento y listo. Para que el usuario sepa que algo ocurri es bueno
mostrarle un mensaje. Luego debemos actualizar la Consulta, se logra desactivando y
activndola. Sino no veramos el nuevo registro.

GINKAKU
14
Cabe resaltar algo muy importante; hay q verificar que los datos de Edit1 al Edit3 sean
VALIDOS, no sea algo vacio o signos raros. Bueno eso se logra con IFs y ELSEs.
COMO MODIFICAR:
Bueno, modificar es el mismo mtodo solo que con un poco de cuidado porque debemos
saber que registro hay que modificar. Yo usare en esta ocacion los DBEdits. Brevemente son
Edits normales solo que estan conectados a una consulta y siempre muestran cierto campo.
Vayamos al SQL SERVER y escribamos nuestro nuevo proceso almacenado:


Para no hacerlo esto muy largo solo modificare el nombre, se puede modificar por supuesto
todos los campos. Pido como variables el nuevo nombre ....Y... el Codigo de ese registro que lo
hace nico. Como ven actualizo Nombre con el nuevo valor siempre y cuando el cdigo sea el
correcto.
Vayamos a delphi y coloquemos un nuevo StoredProcess, un DBEdits y un boton:


En las propiedades del DBedit, le pongo el DataSource creado antes y en DataField elijo que
campo deseo ver. Elegir CODIGO
GINKAKU
15


Haciendo correr podemos ver como cambia el valor mientras cambia el dbGrid, por 2,1,o 3 que
son sus codigos.


Ahora en el boton hagamos la llamada correspondiente:



GINKAKU
16
Para ejecutarlo escribimos un nuevo nombre, seleccionamos con el mouse que registro
queremos cambiar y presionamos el boton.




Falta lneas de cdigo para prevenir errores, yo le puse Visible false al DBEdit para que no se
vea. Mi intensin era mostrarles como realizar las operaciones, por supuesto que hay mejores,
ms seguras, mas rpidas, etc. Me hubiera gustado aumentar una seccin para crear Reportes
en Rave Report y tambin el uso de Disparadores en inventario, pero creo que con esto es
suficiente para empezar.
En Fin espero haber aclarado sus dudas y con gusto respondere si genere nuevas jajajajjaj. Un
saludo gente!!!

GINKAKU
17

También podría gustarte