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 10-05-2008
rohd rohd is offline
Registrado
 
Registrado: may 2008
Posts: 4
Poder: 0
rohd Va por buen camino
Cargar DBGrid

Buenas estoy intentando de conectar con una Base de Datos de MySql con Delphi 7, la información pretendo enseñarla en un DBGrid, como componentes para la conexión uso un TSQLConnection, un TDataSource y un TSQLQuery, creo que consigo enlazar lo todo menos el TDataSource se supone que tengo que rellenar su DataSet pero no me aparece ningún valor.

Como intento conectarlo seria asi.

TSQLQuery me pide una conexion que la consigo con TSQLConnection.

El DBGrid lo conecto con el TDataSource.

Si trato de enlazar el TDataSource con el TSQLQuery es donde me da el fallo.

Aqui les dejo mis dudas y espero sus respuestas, muchas gracias de antemano.
Responder Con Cita
  #2  
Antiguo 10-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues es muy raro. El SQLQuery y el DataSource ¿los tienes en el mimso lugar? ¿O el SQLQuery está en un DataModule y el DataSource en un formulario?

// Saludos
Responder Con Cita
  #3  
Antiguo 10-05-2008
rohd rohd is offline
Registrado
 
Registrado: may 2008
Posts: 4
Poder: 0
rohd Va por buen camino
Si los tres componentes (TSQLConnection, TDataSource y TSQLQuery) estan en el mismo formulario, es lo que me sorprende.
Responder Con Cita
  #4  
Antiguo 12-05-2008
rohd rohd is offline
Registrado
 
Registrado: may 2008
Posts: 4
Poder: 0
rohd Va por buen camino
Buenas de nuevo al final he conseguido conectar la base de datos mysql... Aunque no lo he conseguido en un principio como tenia pensado.

Lo componentes que he utilizado han sido un BDGrid (para mostrar la informacion), un ADOConnection (para establecer la ocnexion con el servidor mysql), un ADOQuery (donde indico la sentencia SQL, en mi caso "SELECT * FROM TABLA") y el DataSource, para conectar los distintos componentes.

Pues bien la hora de hacer la conexion ha sido:

Componente a conectar(campo donde conecto) -> Componente al que me quiero conectar
BDGrid (DataSource) -> DataSource
DataSource(DataSet) -> ADOQuery
ADOQuery(Conection) -> ADOConnection

Bueno eso ha sido todo lo dejo aqui por si alguien mas tiene una duda y le puede ayudar.

P.D. Aun sigue dandome problemas el conectar los componentes SQLQuery, DataSource y BDGrid, cuando indico el orden como arriba me salta un error de "Operation not allowed unidirectional dataset".

Bueno nos vemos un saludo!!
Responder Con Cita
  #5  
Antiguo 13-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por rohd Ver Mensaje
P.D. Aun sigue dandome problemas el conectar los componentes SQLQuery, DataSource y BDGrid, cuando indico el orden como arriba me salta un error de "Operation not allowed unidirectional dataset".
¡Vaya! Debí haberlo notado desde un principio. Aunque hubiera ayudado que pusieras desde el inicio el texto del mensaje de error para refrescar mi memoria

Lo que sucede está explicado en la ayuda de Delphi:

Cita:
TSQLQuery is a unidirectional dataset. Unlike other datasets, unidirectional datasets do not buffer multiple records in memory. Because of this, you can only navigate using the First and Next methods. There is no built-in editing support: you can only edit the data in an SQL query by explicitly creating an SQL UPDATE command or by connecting the dataset to a client dataset using a provider. Features that require buffering multiple records, such as filters or lookup fields, are not available.
En otras palabras, dbExpress está diseñado para trabajar sin cargar en memoria ni siquiera un pequeña porción de los registros que envía el servidor, y esto tiene como consecuencia que no puedas usar un DBGrid para visualizar/editar los datos.

En estos casos, lo que se debe hacer es poner una pareja ClientDataSet-Provider de intermediaria entre el SQLQuery y el DBGrid.

Pero viendo que has optado por ADO, creo que es mejor que sigas por ahí, que es un buen camino

// Saludos
Responder Con Cita
  #6  
Antiguo 03-11-2010
NicoDominguez NicoDominguez is offline
Registrado
 
Registrado: ago 2008
Posts: 9
Poder: 0
NicoDominguez Va por buen camino
Cita:
Empezado por rohd Ver Mensaje
Buenas de nuevo al final he conseguido conectar la base de datos mysql... Aunque no lo he conseguido en un principio como tenia pensado.

Lo componentes que he utilizado han sido un BDGrid (para mostrar la informacion), un ADOConnection (para establecer la ocnexion con el servidor mysql), un ADOQuery (donde indico la sentencia SQL, en mi caso "SELECT * FROM TABLA") y el DataSource, para conectar los distintos componentes.

Pues bien la hora de hacer la conexion ha sido:

Componente a conectar(campo donde conecto) -> Componente al que me quiero conectar
BDGrid (DataSource) -> DataSource
DataSource(DataSet) -> ADOQuery
ADOQuery(Conection) -> ADOConnection

Bueno eso ha sido todo lo dejo aqui por si alguien mas tiene una duda y le puede ayudar.

P.D. Aun sigue dandome problemas el conectar los componentes SQLQuery, DataSource y BDGrid, cuando indico el orden como arriba me salta un error de "Operation not allowed unidirectional dataset".

Bueno nos vemos un saludo!!
Hola, una consulta, como configuraste la componente ADOConnection para conectarla con el servidor MySql?
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
¿Se puede cargar a mano un DBGrid de Jedi? fonx OOP 3 24-04-2008 16:32:00
Cargar un JComboBox La__X JAVA 4 09-06-2007 03:46:07
Como cargar los datos de un arreglo en un dbgrid sin utilizar sql ilichhernandez Conexión con bases de datos 3 13-07-2006 19:17:20
Problemas al cargar el DBGrid Nathan Conexión con bases de datos 1 21-05-2006 10:23:26
cargar a un DBImage un jpg fergape Gráficos 4 27-12-2005 19:20:00


La franja horaria es GMT +2. Ahora son las 00:03:34.


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