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 07-06-2010
study study is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
study Va por buen camino
select con dbexpress

Hola de nuevo:

Esta vez los molesto con la siguiente duda. LLevo muy poco tiempo trabajando con delphi y hasta ahora habia utilizado la libreria zeosdbo para lo que es acceso a base de datos. Pero al parecer esta no funciona muy bien con las ultimas versiones de delphi por lo cual estoy comenzando a utilizar dbexpress.

Hasta ahora estoy utilizando (como en zeos) un sqlconnection y un sqlquery. Si lo que quiero es hacer un insert o un update no tengo problemas ya que utilizo los metodos miquery.sql.add() para cargar mi sql y miquery.exectsql() para ejecutarlos.

El problema viene cuando quiero hacer una consulta. Cargo mi sql una vez mas con miquery.sql.add() pero no se ejecuta con el metodo miquery.open() ni con miquery.exectsql();

Si alguien me pudiera dar un pequeño ejemplo de query con dbexpress (usando la menor cantidad de componenetes visuales posibles) le estaria muy agradecido.

Desde ya muchas gracias.
Responder Con Cita
  #2  
Antiguo 08-06-2010
JosepGA JosepGA is offline
Miembro
 
Registrado: jun 2007
Ubicación: Tarragona
Posts: 166
Poder: 17
JosepGA Va por buen camino
Hola,

puedes usar el tSimpleDataSet, especificas la Conexión en
Código Delphi [-]
SimpleDataSet.Connection
y luego la sentencia SQL en
Código Delphi [-]
SimpleDataSet.DataSet.CommandText
Para activar la consulta haces
Código Delphi [-]
SimpleDataSet.Active := TRUE
y ya puedes leer la consulta pudiendo navegar entre los registros, buscar, añadir, borrar, etc.... Para guardar los cambios debes usar la instrucción
Código Delphi [-]
SimpleDataSet.ApplyUpdates()
.

Un saludo
Responder Con Cita
  #3  
Antiguo 08-06-2010
study study is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
study Va por buen camino
Primero, muchisimas gracias. Segundo, esto de delphi me esta costando (yo vengo de php) y tercero no me funciona, me sale el mismo error que con el sqlquery:

First chance exception at $7C812AFB. Exception class EAccessViolation with message 'Access violation at address 00DA8564 in module 'dbxmys.dll'. Read of address 00000000'. Process dbex.exe (2004).

Y despues un simpatico cartelito que dice "error catastrofico" (me alegro la mañana)
Responder Con Cita
  #4  
Antiguo 10-06-2010
JosepGA JosepGA is offline
Miembro
 
Registrado: jun 2007
Ubicación: Tarragona
Posts: 166
Poder: 17
JosepGA Va por buen camino
Veo que trabajas con MySQL, no te puedo ayudar mucho en la configuración, pero me da a que puede ser la configuración de la conexión, si activas la conexión, sin abrir una tabla, ¿ Te da tambien el error ?
Responder Con Cita
  #5  
Antiguo 10-06-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 18
mcs Va por buen camino
Cita:
Empezado por study Ver Mensaje
Primero, muchisimas gracias. Segundo, esto de delphi me esta costando (yo vengo de php) y tercero no me funciona, me sale el mismo error que con el sqlquery:

First chance exception at $7C812AFB. Exception class EAccessViolation with message 'Access violation at address 00DA8564 in module 'dbxmys.dll'. Read of address 00000000'. Process dbex.exe (2004).

Y despues un simpatico cartelito que dice "error catastrofico" (me alegro la mañana)
Por el tipo de error (EAccessViolation), diría que estás intentando llamar a una función de un objecto no inicializado o así. Tendrías que buscar en que línea del programa te falla, poner un breakpoint allí, y cuando el programa se pare, mirar todas las variables. Seguro que tienes una con valor "nil".
Responder Con Cita
  #6  
Antiguo 10-06-2010
study study is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
study Va por buen camino
Ley por ahí que el problema podria tener algo que ver con el driver que estoy usando (estoy usando el mismo que usaba para zeos). Les cuento que por ahora lo solucione con unos componentes especiales para mysql que adquirí en un sitio que se llama algo así como devart o algo por el estilo (total el que paga es el jefe). La verdad que esto me esta funcionando muy bien.

Respecto a lo de usar objetos no inicializados, lo dudo, ya que para llamar a otros metodos funcionan perfecto (al igual que para realizar escrituras en la db), el problema se presentaba a la hora de la lectura.

Muchisimas gracias por su consejo, la verdad esta muy bueno el foro. Salu2.
Responder Con Cita
  #7  
Antiguo 10-06-2010
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 19
felipe88 Va por buen camino
Yo te aconsejaría revisar los componentes de conexión, usalo con el ClientDataSet para pasar los query mediante la propiedad CommadText.


Saludos!
__________________
Web
Responder Con Cita
  #8  
Antiguo 10-06-2010
study study is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
study Va por buen camino
Eso ya lo habia probado (de hecho me pase dos días haciendo pruebas) y nada, pasaba lo mismo. Igual con estos componentes (MyDac) la verdad estoy bastante bien.
Responder Con Cita
  #9  
Antiguo 11-06-2010
JosepGA JosepGA is offline
Miembro
 
Registrado: jun 2007
Ubicación: Tarragona
Posts: 166
Poder: 17
JosepGA Va por buen camino
hola,

me alegro de que lo hayas solucionado, yo tambien uso los Corelab para Firebird y estoy muy contento con ellos.

Un saludo
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
Extraño error de Select Sum() en TSQLQuery de dbExpress rolandoj Conexión con bases de datos 1 28-09-2007 06:27:36
Problema conuna consulta select...not in (select ...) VRO Firebird e Interbase 2 11-08-2005 08:56:35
5 select de 5 tablas diferentes en un select solo sakuragi SQL 6 15-06-2005 18:57:06
Select anidado: Select from (select....) Malon SQL 2 14-10-2004 14:01:24
Select anidado ( Select from select ) Malon Firebird e Interbase 1 05-10-2004 04:14:38


La franja horaria es GMT +2. Ahora son las 18:58:52.


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