Mini tutorial Zeos + Firebird
Hola como estan? abro este hilo porque creo que ya hice varias preguntas en el foro y todavia no aporte nada.
Aunque sea muy pequeño este mini tutorial, creo que es mejor aportar algo que nada y me parece que a algunas personas va a servirle. Me dejo de hablar y nos ponemos manos a la obra. Voy a tomar como referencia el tutorial hecho por Caral en donde se explica como iniciarse con firebird. Haremos un programita EXTREMADAMENTE sencillo utilizando los componentes ZEOS en donde mostraremos: -Como conectarnos a una BD firebird -Como insertar registros -Como actualizar registros (o modificar) -Como eliminar registros Primero que nada creamos una tabla en firebird y le pondremos como nombre CONTACTOS y los siguientes campos: ID- Integer - Autoincrement NOMBRE - Varchar APELLIDO - Varchar TELEFONO - Varchar como vemos en la imagen: Para que nos funcione el campo ID y sea autoincrement tenemos que crear un Generador. Como es eso? ;) En el campo ID le damos doble clic al casillero AutoInc y se nos abrira una ventanita. En esa ventana seleccioanmos la pestaña Generador y luego marcamos el checkbox Crear generador. Despues de eso, dentro de la misma ventanita, vamos a la pestaña Disparador y seleccionamos el checkbox Crear disparador. Terminamos dandole OK a la ventanita Listo!!! ya tenemos nuestra tabla :) y ahora que hacemos? :confused: Pasamos a delphi!!! Creamos un nuevo proyecto y colocamos en el form: 3 botones, 1 ZConnection, 1 ZQuery, 1 DBGrid, 1 DataSource con las propiedades: Boton de insercion: -name: button1 -caption: Agregar contacto Boton de edicion (o actualizacion o modificacion): -name: button2 -caption: Modificar contacto Boton de eliminacion: -name: button3 -caption: Eliminar contacto ZConnection: -Database: (Seleccionamos la base de datos firebird en donde la hayamos guardado) -HostName: si es un sistema en local, ponemos localhost -Name: ZConection1 -Password: el pass de firebird que por lo general es: masterkey -Protocol: firebird x.x (x.x es la version en la cual hayamos creado nuestra BD) -User: por lo general es SYSDBA -Connected: por ultimo connected a true. ZQuery: -Connection: seleccionamos el ZConnection1 -SQL: se nos abre una ventanita y escribimos: SELECT * FROM CONTACTOS -Name: ZQuery1 -Active: True DataSource: -Name: DataSource1 -Dataset: seleccionamos el ZQuery1 DBGrid: -Name: DBGrid1 -DataSource: DataSource1 Una vez que tenemos todos los componentes en nuestro form hacemos doble clic sobre el ZQuery, se nos abre una ventanita en donde vamos a hacer clic derecho add all fields. Cuando se agreguen los campos (fields) seleccionamos ID (Autoincrement) y para que se genere automaticamente el numero, le cambiamos las propiedades: -Required: False -ProviderFlags --pfInUpdate: False Por falta de tiempo voy a tener que detenerme aca :rolleyes:, pero protito agregare lo que falta. Vayan guardando su proyecto! PD: si algun moderador ve que me confundi en algo o falta algo, o esta mal explicado, diganme que con gusto lo corrijo! Saludos!!! |
Estupendo :)
Una duda, no conozco bien zeos, lo he usado poco, pero me ha resultado extraño esto: ZConnection: -Protocol: firebird x.x (x.x es la version en la cual hayamos creado nuestra BD) Supongo que habrá sido un "desliz", se supone que ahí debe ir TCP/IP u otro protocolo. |
Hola,
Cita:
Tampoco soy un gran conocedor de Zeos pero lo he usado alguna vez y creo que el funcionamiento es así. Un Saludo. |
Hola
Muchas gracias por el aporte. Siempre estamos los que necesitamos aprender algo nuevo. Gracias. Saludos |
Pues aclarada la duda :)
Pongo este tema "adherido" para que quede siempre en las primeras posiciones, ya que es un tema que se pregunta mucho. |
:) hola hola! como dice white_zombie ahi en protocol se especifica la base de datos, ya que por lo poco y nada que se de Zeos, estos permiten conectarse a multiples motores de BD.
Mañana seguramente subire otra parte del tuto. Código:
Pongo este tema "adherido" para que quede siempre en las primeras posiciones, ya que es un tema que se pregunta mucho. |
Cita:
|
Me libere de las tareas, ahora puedo seguir con el tuto! :)
Creamos un nuevo form (form2) y le colocamos 3 edits con sus respectivos labels, y un boton como muestra la imagen: Bien, el procedimiento para realizar una insercion es el siguiente, en el form1 donde tenemos la grilla y los tres botones ("Agregar contacto", "Modificar contacto", "Eliminar contacto") al presionar el boton agregar contacto, se nos despliega el form2 que acabamos de crear, introducimos los datos y presionamos el boton guardar. Para modificar seleccionamos el registro a modificar en la grilla y el procedimiento despues es igual al de insertar. Empezamos con algo de codigo. En el evento OnClick del boton "Agregar contacto" colocamos el siguiente codigo:
y el en evento OnClick del boton "Modificar contacto" ponemos el siguiente codigo:
Muy bien, ahora podemos probar dandole a run (F9) y al presionar los botones Agregar contacto y Modificar contacto, vemos como se despliega el form. Bueno ya realizado esto procedemos a poner el codigo que en si realiza la insercion y modificacion de un registro. Vamos al form2 y en el evento OnClick del boton "Guardar" ponemos el siguiente codigo (esta explicado en el mismo codigo con comentarios cualquier duda me preguntan):
|
Hola agustinbus.
Muchísimas gracias por el aporte. ;) Saludos. :) |
Muy buen aporte. Lo interesante es que este tutorial se puede aplicar prácticamente sin cambios (salvo por IBExpert, que en Linux se reemplaza por Flamerobin) en Lazarus.
|
gracias por el tutorial, llevo varios años utilizando ibexpert y nunca me di cuenta de que en la creacion de la tabla podia crear el generador y el trigger :confused: :o que vergüenza
|
Cita:
No se puede saber todo :) |
Me alegra q te haya gusta gmontes :) !!!!!
|
Primero que nada agradecer por el tutorial, soy nuevo en SQl a pesar de que llevo años programando en Delphi7 con Paradox y Dbase, por lo mismo quisiera consultar el porque usa para ingresar los datos los Edit en lugar de los DbEdit ?
Saludos |
Normalmente es sólo cuestión de gustos.
Es más cómodo usar dbedits, por supuesto. |
Cita:
|
Cita:
Carajo, porq no pase por aqui ase dos dias:eek: Buen tuto |
no uso DBEdits porque uso otros componentes con mascaras y validaciones de entradas de datos, y bueno ya me acostumbre a no usar dbedits. Por supuesto que es mas facil :).
Cita:
Cita:
muchas gracias pedrolazarus!! :) |
Cita:
Santiago. |
Cita:
Para guardarlos y leerlos en y desde la BD hay que pasarlos a un flujo de bits (streaming) con unas clases bien hechas para tal fin. Santiago. |
Actualizar Registo En Bdgrid
excelente tuto solo quiero preguntar que puedo hacer para que cuando ingrese un registro en la BD por IBExpert pueda a travez de un botón en el formulario de delphi actualizar los registros en el BDgrid, es decir que cuando ingrese ese registro en la BD y se este ejecutando la aplicacion en delphi no tenga la necesidad de cerrar y abrir la ventana para que me salga el nuevo registro si no que lo haga cuadole de click alboton actualizar.
|
Hola como estas? una manera de hacerlo es hacer la consulta nuevamente, por ejemplo:
Es un ejemplo de una tabla de clientes. Saludos espero te sirva, cualquier cosa me avisas. |
Actualizar Registo En Bdgrid
Amigo de ante mano muchas gracias por responder mi mensaje sinceramente no pensé que lo hiciera y así tan pronto...
Hice el boton actualizar y en el evento onclick le agregue la parte de codigo que me pasaste pero no me funciono, luego le agregue : DBGrid.refresh a esse código y tampoco me funciono si tienes alguna otra idea me seria de mucha ayuda. Gracias por ayudar al que lo necesita. |
Cita:
|
La franja horaria es GMT +2. Ahora son las 16:56:39. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi