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 17-09-2008
octavioallec octavioallec is offline
Miembro
 
Registrado: oct 2007
Posts: 17
Poder: 0
octavioallec Va por buen camino
Problema con DBExpress y DBGrid

Hola a todos.

Consulto con todos ustedes porque he buscado muchas posibles soluciones y aún no he tenido éxito, mi problema es el siguiente...

Tengo mi aplicación en Delphi 2007, mi base de datos en MySQL 5.1.25, sistema operativo Windows XP SP3.

En mi aplicación uso componente DBExpress, en mi DataModule ya cuento con los componente SQLConnection, SQLQuery (también probado con SQLDataSet), DataSetProvider y ClientDataSet. He verificado conectarlos adecuadamente.

Puedo conectarme a mi base de datos sin problemas, pero todo empieza cuando hago una consulta, por ejemplo.

SQLQuery1.SQL.Text:='SELECT Nombre FROM Usuarios';
SQLQuery1.Open;
ClientDataSet1.Open;

Enlazo mi ClientDataSet con un DataSource y puedo ver los resultados en un DBGrid, sin embargo, si agrego algún campo más a mi consulta (el que sea), mi aplicación manda error.

SQLQuery1.SQL.Text:='SELECT Nombre,Clave FROM Usuarios';
SQLQuery1.Open;
ClientDataSet1.Open;

Envía el siguiente error:

Access violation at address 00BDDF48 in module 'dbxmys30.dll'. Read of address 00000000

Con sinceridad agradeceré sus aportaciones para poder solucionar este problema. Saludos y GRACIAS de antemano.
Responder Con Cita
  #2  
Antiguo 17-09-2008
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 22
toni.vi Va por buen camino
No es necesario el SQLQuery1.Open;
con ClientDataSet1.Open; es suficiente.
Debes cargar los campos en el sqldataset y en clientdataset y poner en el campo que sea clave principal de ambos componentes en pfInKey dentro del ProviderFlags a true.
Responder Con Cita
  #3  
Antiguo 18-09-2008
octavioallec octavioallec is offline
Miembro
 
Registrado: oct 2007
Posts: 17
Poder: 0
octavioallec Va por buen camino
El problema continua

Toni muchas gracias por tu sugerencia, ya hice los cambios que me indicaste, el QUERY no necesita abrirse, sin embargo cuando intento usar el SQLDataSet me manda error.

Me he centrado un poco más en usar los SQLQuery, pero sigo teniendo el mismo problema, cuando en el Query hago una consulta de un solo campo trabaja muy bien, pero en cuanto uso otra consulta y pido 2 o más campos de cualquier tabla me envía el error que comentaba al principio.

Sinceramente agradezco mucho el apoyo de las personas que me ayuden a resolver el problema (Toni...GRACIAS).

Saludos a todos y que estén de lo mejor.
Responder Con Cita
  #4  
Antiguo 19-09-2008
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 22
toni.vi Va por buen camino
Supongo que conectas
SqlDataset al SqlConnection
DatasetProvider a SqlDataset
ClientDataset a DatasetProvider
DataSource al ClientDataset (muy importante)

La propiedad pfInKey de los campos key principal a True.
Si Trabajas con más de una tabla en la misma Select, los campos que no son de la tabla principal debes poner pfInUpdate y pfInWhere a False.
Con todo eso debe funcionar bien, sino deberias dar mas detalles.
Saludos
Toni
Responder Con Cita
  #5  
Antiguo 18-10-2008
octavioallec octavioallec is offline
Miembro
 
Registrado: oct 2007
Posts: 17
Poder: 0
octavioallec Va por buen camino
Continua la búsqueda

Nuevamente Toni muchas gracias por tu colaboración, con sinceridad comienzo a pensar que he tenido una mala configuración de estos componentes al instalar Delphi 2007, o bien con tanta prueba, le cambie la configuración de forma erronea y ahora que hago un poco de memoria, recuerdo que usando los asistentes pude accesar a las tablas y campos de mi DB, seguí probando y después ni los asistentes funcionaban bien.

Los datos ya los he colocado como me sugieres, sólo coloco campos de una misma tabla (si uso campos de varias tablas en algunas consultas, pero aún no llego a esa parte con los DBExpress), con las propiedades que me indicas y nada (Gracias Toni).

Seguiré buscando la forma ya que estoy migrando todos mis proyectos y deseo que trabajen adecuadamente.
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
refrescar dbgrid que usa dbexpress chux Conexión con bases de datos 2 22-05-2006 17:31:06
problema en un query utilizando dbexpress clanmilano SQL 0 14-06-2005 22:45:16
Problema con componente dbexpress VolaRe Conexión con bases de datos 0 27-07-2004 12:20:40
Problema DBExpress muy lento argami Conexión con bases de datos 4 22-06-2004 19:34:18
Problema con ClientDataSet y DBexpress JOMABRI Conexión con bases de datos 6 26-05-2004 18:32:53


La franja horaria es GMT +2. Ahora son las 00:01: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