Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-02-2011
jlrdz jlrdz is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 50
Poder: 14
jlrdz Va por buen camino
Question Usar consulta para varios formularios

Tengo 2 formularios(usuarios y categorias) y un data module, estoy usando el componente mydac para conectarme a mi base de datos en MySQL, en la base de datos tengo 2 tablas una de nombre usuarios y otra de nombre categoria.
La tabla usuarios tiene tres campos que son id, numero y nombre_usuario.
La tabla categorias tres campos id, categoria y salario.
En el Data Module tengo el componente TMyconnection de name "conn" donde establesco los datos del servidor, usuario, password y la base de datos que voy a utilizar y un TMyQuery de name "query2" para generar consultas.
En el formulario de usuarios muestro los datos y tengo un DBNavigator pero propio no usé el que biene ahí. Con el evento onCreate para el formulario hago lo siguiente:

mysql es el nombre del data module, aquí selecciono todo de la tabla usuarios con la consulta y lleno correctamente los TEdit, con eso no tengo problema

Código Delphi [-]
mysql.query2.Close;
mysql.query2.SQL.Clear;
mysql.query2.SQL.Text:='select * from usuarios order by id asc';
mysql.query2.Open

En el formulario categorias hago exactamente lo mismo con el evento onCreate pero con una consulta diferente, lleno los TEdit correctamente y el DBnavigator propio funciona bien.

Código Delphi [-]
mysql.query2.Close;
mysql.query2.SQL.Clear;
mysql.query2.SQL.Text:='select * from categoria order by categoria asc';
mysql.query2.Open;

Al correr la aplicacion abro primero categorias y me carga los datos y todo anda bien, cierro ese formulario y abro el de usuarios y la primera vez que se llena los campos lo hace bien pero al recorrer el siguiente registro con el DBNavigator me marca un error, en si se refiere a que los campos numero y nombre de usuario no existen en la consulta que sería en "query2" y quiero suponer que hace eso porque aun está cargada con los datos del formulario categorias pero se supone que al crear el formulario se debe borrar ( con el mysql.query2.close, mysql.query2.SQL.Clear) y ejecutar la nueva consulta o al menos eso es lo que creo pero seguro estoy en un error. Lo que quiero es usar esa misma "query2" para varios formularios y no tener que crear una para cada formulario. Aclaro lo que sí tengo para cada formulario es un TMyDataSource. Espero haberme explicado y puedan ayudarme, saludos.
Responder Con Cita
  #2  
Antiguo 04-02-2011
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.233
Poder: 20
ElKurgan Va camino a la fama
Pues... Lamento decirlo pero no, no he entendido bien lo que necesitas.

Si nos pusieras al menos el código de error que te marca nos daría alguna idea, pero así, a bote pronto, es difícil saber que está pasando.

Como bien dice el amigo Neftali:

Cita:
Más tiempo dedicado a la pregunta=Mejores respuestas.


Saludos
Responder Con Cita
  #3  
Antiguo 04-02-2011
jlrdz jlrdz is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 50
Poder: 14
jlrdz Va por buen camino
Quiero usar el mismo componente TMyQuery para varios formularios pero obviamente cada formulario tiene una diferente consulta y esto lo quiero para no tener que agregar muchos TMyQuery osea uno para cada formulario. El error que me da es:
EDatabaseError with message 'query2: Field' 'numero_usuario' not found.

Como lo dice es por que no encuentra esa columna en query2.

Última edición por jlrdz fecha: 04-02-2011 a las 23:18:10.
Responder Con Cita
  #4  
Antiguo 04-02-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Si usas un query para varias consultas NO puedes añadirle campos en la casilla de verificacion, osea, en la ventana pequeña donde se colocan los campos.
El error es muy probable que sea por que tienes una sentencia sql en el string del query y ademas estan los campos en la ventanita que mencione.
Quita todo eso y veras que funciona.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 04-02-2011
jlrdz jlrdz is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 50
Poder: 14
jlrdz Va por buen camino
No entedí, cual ventanita? cual campo?, el TMyQuery está en un Data Module y los campos que lleno con los datos son TEdit, con eso no tengo ningun problema, el problema está en que cuando abro primero el formulario de categorias hace la consulta y me muestra los datos correctamente, lo cierro y abro el formulario de usuarios que también usa el mismo TMyQuery para hacer la consulta y la hace bien pues me muestra los campos llenos con la informacion correcta pero al querer avanzar al segundo registro ya es donde me marca ese error que indica que no se encuentra esa columna en query2.
Responder Con Cita
  #6  
Antiguo 04-02-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Entonces no entiendo donde esta el problema.
Las cosas si funcionan una vez, funcionan dos.
No entiendo.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 05-02-2011
jlrdz jlrdz is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 50
Poder: 14
jlrdz Va por buen camino
Yo tampoco y es por eso que hice un nuevo hilo en este foro.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Usar LoadFromStream para formularios GerTorresM Varios 4 11-11-2010 16:01:30
Consulta SQL para varios campos Raynel Tablas planas 11 13-02-2008 03:49:42
se puede usar un solo TSQL_Connection para todos los formularios en una apli MDI??? Mitsuomi Conexión con bases de datos 3 28-12-2007 20:48:11
Buscar para varios formularios Jordy OOP 4 17-08-2007 16:46:50
usar un procedure en varios formularios adonai Varios 21 30-03-2007 17:42:34


La franja horaria es GMT +2. Ahora son las 22:37:18.


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
Copyright 1996-2007 Club Delphi