PDA

Ver la Versión Completa : Manejo de Consultas con Componentes Zeos


claudiorene
20-06-2007, 15:12:44
Hola amigos del foro.

Paso a comentarles que me toy inciando en delphi 7, y lo que toy tratando de hacer un ABM sencillo, con una base de datos Firebird y componentes Zeos.

Ya se como realizar una conexion, osea leer los datos de una tabla en particular. Lo que necesitaria saber como hacer para ejecutar una instruccion SQL, ya sea para recuperar datos como para actualizar datos sobre una tabla.

Osea cual seria el componente Zeos donde poner el codigo SQL y cuales serian los pasos.

Espero haber sido claro.

Porsupuesto muchas gracias de antemano por su tiempo.

roman
20-06-2007, 17:13:05
Normalmente uso ZQuery. Los ZTable sólo los uso para tablas pequeñitas, como catálogos, y los ZReadOnlyQuery nunca he sabido para que están. Supongo que tratan de optimizar recursos en consultas que no requieren actualizar los datos.

No todas las consultas son actualizables. Si es una consulta sencilla que involucra datos de una sola tabla e incluye una llave única, entonces el ZQuery te basta. Lo conectas a tus controles debedit o dbgrid y ya tienes todo para leer y editar datos. Si la consulta es más compleja, entonces requerirás una componente ZUpdateSQL para indicarle al ZQuery cómo debe hacer las actualizaciones.

Ahora bien, yo no manejo Firebird, pero por lo que he leído aquí, ZEOS no es la opción recomendada para este motor. Hay otras componentes mejores como las MDO o las FibPlus. Si estás empezando, será mejor que leas en estos foros acerca de ellas para no embarcarte con unas componentes que quizá no sean lo más adecuado.

// Saludos

claudiorene
20-06-2007, 19:06:07
Gracias Roman por tu tiempo. En cuanto a los componentes que uso tienes razon, en este foro he visto que no son los mas recomendados, pero he empezado a usarlos por un lado porque no he podido conseguir algun linck donde pueda descargar los MDO, y por el otro lado porque Caral en este foro me paso como conectarme a la base de datos Firebird por medio de los componentes Zeos.

Tambien tengo instalado los componentes FIBPlus, pero he estado intentando conectarme a la base de datos, pero no puedo encontrar el componente Table dentro de los mismos, para asi determinar la tabla con la que quiero trabajar. Quizas estaria bueno que me pasen algun ejemplo donde pueda ver los pasos para conectarme a la base de datos Firebird, ya sea por medio de los componentes FIBPlus o MDO.

Desde ya les agardezco por su atención como siempre.

roman
20-06-2007, 19:12:06
Tambien tengo instalado los componentes FIBPlus, pero he estado intentando conectarme a la base de datos, pero no puedo encontrar el componente Table dentro de los mismos, para asi determinar la tabla con la que quiero trabajar.


Ignoro si lo tiene o no, pero aun teniéndolo no es conveniente. Verás; cuando trabajas con verdaderos servidores SQL como Firebird, las componentes de tipo Table son por demás ineficientes ya que no son otra cosa que una consulta


select * from tabla


que trae todos los registros del servidor. Lo recomendable es trabajar mayoritariamente con consultas SQL adecuadamente filtradas.

// Saludos

claudiorene
20-06-2007, 19:18:40
OK Roman, vere que es lo que puedo hacer. Toy bastante aturdido de informacion, quiero empezar ya a aplicar conceptos con un ejemplo sencillo como un ABM, y asi ir puliendo mis dudas.

Gracias por tu tiempo amigo.

Caral
20-06-2007, 19:20:41
Hola

ZQuery1.Close;
ZQuery1.SQL.Text:= 'Select * from TuTabla';
ZQuery1.Open;
Se usa igual que otros componentes, como ado.
Saludos

claudiorene
20-06-2007, 22:35:48
Amigos estoy bastante perdido con este asunto. Acabo de agregar don controles de los componentes FIBPlus. Agregue a un formulario un pFIBDatabase y un pFIBQuery. Por medio del primero conecto la base de datos y con el segundo escribo la sentencia sql al hacerle doble click:

por ej: select * from clientes

Pero, al agregar un DBEdit, no puedo encontrar la consulta para ponerla como controlsource del control.

Como veran mi pregunta es muy basica pero a su vez desesperante, porque es lo primero que hay que saber para trabajar con datos, y no logro hacerlo andar.

Espero haber sido claro, de todas formas gracias igual por tomarse el tiempo de leer este hilo.

roman
20-06-2007, 22:44:53
Necesitas además un datasource. Éste lo conectas al FIBQuery los dbedits al datasource.

// Saludos

claudiorene
20-06-2007, 23:10:07
Si si Roman, a eso lo tenia claro, pero cuando agrego el DataSource, y le quiero asignar en la propiedad dataset la consulta mia, no la ve, es como que a la consulta le falta asignar alguna propiedad para que la pueda ver al Data Source.

Bueno, seguire intentando a ver si la puedo hacer andar. Gracias igual.

Saludos.

roman
20-06-2007, 23:14:59
Aquí (http://www.clubdelphi.com/foros/showthread.php?t=35529) hablan de esto mismo. Desconozco los FibPlus y se me hace extraño, pero bueno, en ese hilo dan una solución. (Lee desde el mensaje #5)

// Saludos

claudiorene
21-06-2007, 00:27:58
Gracias Roman por tu ayuda, estare en contacto.

Saludos.