Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-08-2004
fmonte fmonte is offline
Miembro
 
Registrado: ago 2004
Ubicación: Tandil
Posts: 67
Poder: 20
fmonte Va por buen camino
update de un AdoQuery

Hola que tal?
Mi inquietud es esta, yo tengo un dbgrid que esta asociado a un Adoquery y me problema es que cuando cambio algo del dbgrid me actualiza recien cuando cambio de fila o no despues de modificar algun valor.
No existe el metodo Onchange y no se realmente si el Medodo OnAfterPost es el que tengo que usar.
Gracias por su ayuda.
Responder Con Cita
  #2  
Antiguo 31-08-2004
oscorm oscorm is offline
Miembro
 
Registrado: ago 2004
Ubicación: Alcorcón
Posts: 59
Poder: 20
oscorm Va por buen camino
a ver, que es lo quieres actualizar, porque desde luego que si existen eventos de validacion a nivel de registo y también a nivel de campo, basicamente el OnValidate. En cuanto al evento AfterPost este se dispara despues de actualizar el que se dispara antes de actualizar en el evento BeforePost, vale?

un saludo.
Responder Con Cita
  #3  
Antiguo 01-09-2004
fmonte fmonte is offline
Miembro
 
Registrado: ago 2004
Ubicación: Tandil
Posts: 67
Poder: 20
fmonte Va por buen camino
Creo que no me entendiste!!!
Yo tengo un Dbgrid que como habia dicho esta asocido a un dbgrid. Por ejemplo si yo me posiciono en un campo de una fila y lo modifico, la unica manera que me actualice en la base de datos es seleccionando otra fila del dbgrid, porque si yo cambio cualquier valor y luego salgo de la aplicacion no me hace nada, pero si selecciono otra fila del dbgrid y salgo si me actualiza, entendes?
Por eso, yo quisiera saber cual es el evento que cuando termino de modificar algun campo me actualice la base de datos, asi no tengo q seleccionar otra fila.
Muchas gracias por su ayuda
Francisco
Responder Con Cita
  #4  
Antiguo 01-09-2004
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
Puedes hacer tú mismo la actualización usando el método Post del DataSet (Table, Query, etc.) asociado al DBGrid. Podrías llamarlo en el OnExit del DBGrid, en el OnClose del formulario o en ambos según convenga.

// Saludos
Responder Con Cita
  #5  
Antiguo 01-09-2004
fmonte fmonte is offline
Miembro
 
Registrado: ago 2004
Ubicación: Tandil
Posts: 67
Poder: 20
fmonte Va por buen camino
Hola Roman!!!
Si esta bien, los medodos Onclose del Formulario o OnExit del Dbgrid me servirian, pero el procedimiento de actualizar no puedo hacer un SQL con la sentencia Update, sino que tendria que hacer algo con el Adoquery que esta asociado el dbgrid, no se si existe alguna funcion update o algo por el estilo o en el dbgrid, la verdad no se cual seria la funcion.
Si la sabes, te agradeciria tu ayuda.
Muchas Gracias
Francisco
Responder Con Cita
  #6  
Antiguo 01-09-2004
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 fmonte
pero el procedimiento de actualizar no puedo hacer un SQL con la sentencia Update
¿Y quién está hablando de una sentencia UPDATE? Usa AdoQuery.Post.

// Saludos
Responder Con Cita
  #7  
Antiguo 01-09-2004
fmonte fmonte is offline
Miembro
 
Registrado: ago 2004
Ubicación: Tandil
Posts: 67
Poder: 20
fmonte Va por buen camino
Thumbs up

Hola de nuevo!!
AH, joya, despues lo pruebo y te digo, mucha gracias por tu ayuda.
Un abrazo, Roman
Francisco
Responder Con Cita
  #8  
Antiguo 02-09-2004
fmonte fmonte is offline
Miembro
 
Registrado: ago 2004
Ubicación: Tandil
Posts: 67
Poder: 20
fmonte Va por buen camino
Hola Roman??
Me andubo lo que me dijiste pero surgio otro problema.
Mi problema ahora, es en el caso que yo selecciono otra fila del Dbgrid despues de modificar algun valor de otra fila de la seleccionada, como habia explicada anteriormente, viste que yo habia dicho que cuando hago eso, me actualiza la base de datos. Bueno ahora me tira un error cuando luego salgo de la aplicacion, porque yo hice el evento OnExit del Dbgrid y puse este codigo:

if (Cambio=1) then
Adoquery1.Post;

La variable Cambio, la seteo en uno cuando cambio algun valor del dbgrid.

El error q me tira es este: 'Adoquery1ataset not in edit or insert mode'
o sea hacer un Post si antes lo hice automatico cuando seleccione otra fila del dbgrid.
No se me entendes mi problema.
Cualquier cosa avisame.
Nos vemos
Francisco
Responder Con Cita
  #9  
Antiguo 02-09-2004
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
Simplemente verifica antes de hacer el post que esté en modo de inserción o edición:

Código Delphi [-]
if AdoQuery.State in [dsInsert, dsEdit] then
  AdoQuery.Post;

// Saludos
Responder Con Cita
  #10  
Antiguo 02-09-2004
fmonte fmonte is offline
Miembro
 
Registrado: ago 2004
Ubicación: Tandil
Posts: 67
Poder: 20
fmonte Va por buen camino
Muchas Gracias Roman, me anduvo joya

Un abrazo y muchas gracias por tu ayuda

Francisco
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


La franja horaria es GMT +2. Ahora son las 13:23:40.


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