Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Como modificar valores desde un dbgrid q esta asociado a un QUERY? (https://www.clubdelphi.com/foros/showthread.php?t=13612)

fmonte 25-08-2004 03:58:02

Como modificar valores desde un dbgrid q esta asociado a un QUERY?
 
Hola gente, soy nuevo y quisiera si alguien me pude dar una mano.
Mi problema es que tengo un dbgrid que esta asociado a un Query q es una consulta de SQL y quisiera saber como si se puede modificar algunos valores de ellos y que obviamente se actualizen las tablas en donde levanto el QUERY. Porque una manera, pero no me gusta es recorrer todo el dbgrid y hacer consultas SQL con UPDATE, pero se debe hacer muy pesado y tampoco no me gusta de esa manera, por eso quisiera saber si existe alguna manera.
Desde ya, muchisimas gracias.
Mucha Suerte, EL GATO ;)

jachguate 25-08-2004 07:21:14

¿en oracle?

No pongas la sentencia SQL con joins directamente en tu componente. mejor usá una vista, y conectas el query a la vista con un select * from vista. Luego, create unos triggers "instead of" para la vista y listo.

Hasta luego.

;)

pd. Si no es oracle, creo que es una buena idea que te des una vuelta por la guia de estilo de los foros y de una vez por el hilo de la calidad de las preguntas.

Bienvenido a los foros del clubdelphi.

fmonte 25-08-2004 18:11:45

Muchas Gracias, pero no lo estoy haciendo en oracle
 
Lo estoy haciendo en Access y no se como hacer una vista en Access, se hacerlo en Interbase por ejemplo pero no en access. Si sabes como te agradeceria q me des una ayudita.
Y lo de los triggers tambien puede ser, pero no tambien si access lo soporta.
Bueno muchas gracias por tu ayuda.
Pancho

jachguate 25-08-2004 18:19:40

¿Leiste el hilo que te recomendé?

Creo que no, y si lo hiciste, pues hará falta quizas que lo leas de nuevo.

Esto, porque aunque ya logré que digas contra que "base de datos" estas trabajando, aún no decis como te conectas, que versión de delphi usas, y algunos otros detalles que pueden ayudar, a quien quiera ayudarte, a conseguirlo.

Hasta luego.

;)

fmonte 25-08-2004 18:29:46

aca te doy algunos datos, pense q no de importancia
 
Mira, yo estoy usando un motor de ADO, la base de datos q uso es ACCESS y no se como hacer una vista con ACCESS. La version de Delphi es 6.0.
Si me ayudas hacer una vista te lo agradeceria porq realmente en access no lo encuentro.
Muchas Gracias

fmonte 26-08-2004 20:53:14

Mi consulta de SQL, es un Select de todos los campos de una tabla y los imprimo en un DbGRID y bueno mi problema que tengo es que quiero modificar esos valores que imprimo desde el mismo Dbgrid y no se como actualizar la tabla involucrada en el Select del AdoQuery. Lo que se hacer es recorrer todo el Dbgrid y haciendo update, pero es muy costoso.
Me dijieron que una vista podria ser, entonces yo imprimiria en el dbgrid la vista y haria un trigger, pero vistas no se como se hacen en ACCESS.
Muchas Gracias, Francisco

__cadetill 26-08-2004 20:59:04

Pregunta:

Si la consulta es del estilo

Código SQL [-]
select *
from tabla

Por qué usas un TADOQuery y no un TADOTable?

fmonte 26-08-2004 21:11:28

Que tal?

No puedo usar una TAdotable porque uso un Where comparando con fecha en especial, entendes

Select * from tabla where fecha=X

por este motivo no puedo usar una tabla y tengo q usar un adoquery.

Muchas gracias, Francisco

__cadetill 26-08-2004 21:14:55

Cita:

Empezado por fmonte
No puedo usar una TAdotable porque uso un Where comparando con fecha en especial, entendes

Entiendo, pero...... hay algo que no te permita utilizar un filtro? (propiedad Filter y Filtered del TADOTable)

fmonte 26-08-2004 21:18:55

Ah, no habia probado usar un filtro, en realidad nunca use un filtro. De que se trata un filtro y como seria el codigo mas o menos q tendria que hacer para imprimir en el dbgrid la tabla comparando una fecha.
Muchas gracias por tu ayuda
Francisco

roman 26-08-2004 21:58:02

No entiendo
 
Hay algo que realmente no entiendo:

Acabo de hacer una prueba usando un AdoQuery con una consulta del tipo

Código SQL [-]
select * from tabla
where condiciones

Enlacé el AdoQuery a un DBGrid, me puse a editar valores tal cual en el DBGrid y las modificaciones se guardaron en la base.

¿Cual es el problema? :confused: :confused:

fmonte 26-08-2004 22:13:16

Hola q tal?

En serio que se te modificaron en la base de datos, no hiciste nada, solo saliste de la aplicacion y te los cambio, porque a mi no me hizo nada. Sera alguna opcion del dbgrid o del adoquery??

La verdad, me descoloco lo q me decis, tendre q probar de nuevo.

Cualquier cosa, avisame.

Muchas Gracias

roman 26-08-2004 22:25:22

Pues no hice nada especial, no modifique ninguna propiedad. Lo único que se me ocurre es que estés usando un driver distinto al que yo usé:

Microsoft Jet 4.0 OLE DB Provider

// Saludos


La franja horaria es GMT +2. Ahora son las 08:53:13.

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