Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-03-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Modificar Registro de DBGrid

Hola Amigos

me he estado cabezeando... para poder recordar como modificar un registro que lo muestro a través de un DBGrid... (no me acuerdo si se podia hacer..)

Estoy trabajando con un IBQuery... un DataSource y un DBGrid...

la consulta del IBQuery es la sgte

Código Delphi [-]
     Datos.IBQ_Select.Close;
     Datos.IBQ_Select.SQL.Clear;
     Datos.IBQ_Select.SQL.Add('Select * From "Movimiento"');
     Datos.IBQ_Select.SQL.Add('Where "Mov_Mes"=:Var1');
     Datos.IBQ_Select.SQL.Add('Order By "Per_Nro"');
     Datos.IBQ_Select.Params[0].AsInteger := StrToInt(Edit1.Text);
     Datos.IBQ_Select.Open;

en donde muestra todos los registros de mes 1 al 12 (según corresponda)..

necesito poder modificar o actualizar en forma directa un dato específico en el DBGrid.. pero no me deja...? alguien tiene una idea de como hacerlo???

Tambien puse DBEdit de los campos para poder modificarlos a través de ese componente pero tampoco me deja modificarlos

Me acuerdo que con el component Query del DBE se tenia que cambiar la propiedad Requestlive y funcionaba... pero con el IBQuery no se donde habilitar la edición ???
__________________
BlueSteel
Responder Con Cita
  #2  
Antiguo 11-03-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Me da la impresión que vas a tener que utilizar el componente:

TIBUpdateSQL


Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 11-03-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Ok...

gracias... ahorita buscare como funciona...
__________________
BlueSteel
Responder Con Cita
  #4  
Antiguo 11-03-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Uso del TIBUpdateSQL

Bueno...

Ya agrege el componente TIBUpdateSQL y lo enlace al componente IBQuery correpondiente

La tabla a Actualizar se llama Movimiento y su estructura es, en donde solo quiero modificar los campos que muestro en rojo

Mov_Nro
Per_Nro
Mov_Limp
Mov_Ire
Mov_Mov
Mov_Pmed
Mov_Leys
Mov_Ctah2
Mov_Cper
Mov_Colac
Mov_Onimp
Mov_Seguro1
Mov_Mes
Mov_Mafp
Mov_Mfam

Bueno, cuando pincho en el componente TIBUpdateSQL (doble Click), me aparece una pantalla que me permite generar las sentencias SQL...

y me genero las siguientes sentencias

ModifySQL
Código SQL [-]
size="1">update Movimiento
set
Mov_Nro = :Mov_Nro, Per_Nro = :Per_Nro, Mov_Limp = :Mov_Limp, Mov_Ire = :Mov_Ire, Mov_Mov = :Mov_Mov, 
Mov_Pmed = :Mov_Pmed, Mov_Leys = :Mov_Leys, Mov_Ctah2 = :Mov_Ctah2, Mov_Cper = :Mov_Cper, 
Mov_Colac = :Mov_Colac, Mov_Onimp = :Mov_Onimp, Mov_Seguro1 = :Mov_Seguro1, Mov_Mes = :Mov_Mes, Mov_Mafp = :Mov_Mafp, Mov_Mfam = :Mov_Mfam
where Mov_Nro = :OLD_Mov_Nro

InsertSQL
Código SQL [-]
size="1">insert into Movimiento
(Mov_Nro, Per_Nro, Mov_Limp, Mov_Ire, Mov_Mov, Mov_Pmed, Mov_Leys, 
Mov_Ctah2, Mov_Cper, Mov_Colac, 
Mov_Onimp, Mov_Seguro1, Mov_Mes, Mov_Mafp, Mov_Mfam)
values
(:Mov_Nro, :Per_Nro, :Mov_Limp, :Mov_Ire, :Mov_Mov, :Mov_Pmed, :Mov_Leys, :Mov_Ctah2, :Mov_Cper, :Mov_Colac,
:Mov_Onimp, :Mov_Seguro1, :Mov_Mes, :Mov_Mafp, :Mov_Mfam)

DeleteSQL
Código SQL [-]
size="1">delete from Movimiento
where Mov_Nro = :OLD_Mov_Nro

RefreshSQL
Código SQL [-]
size="1">Select 
Mov_Nro, Per_Nro, Mov_Limp, Mov_Ire, Mov_Mov, Mov_Pmed, Mov_Leys, Mov_Ctah2, Mov_Cper, Mov_Colac, Mov_Onimp, Mov_Seguro1, Mov_Mes,
Mov_Mafp, Mov_Mfam 
from Movimiento 
where Mov_Nro = :Mov_Nro

Luego, voy al DBgrid correpondiente (donde ya esta todo enlazado..).. quiro modificar un valor, me lo permite hacer, pero cuando salgo y vuelvo a entrar, el valor no se ha actualizado

que podrá ser ??
__________________
BlueSteel
Responder Con Cita
  #5  
Antiguo 11-03-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Has probado a cerrar y volver a abrir la conexión, para ver si es problema de que la rejilla no actualizado los cambios en la fuente?

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 11-03-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
Has probado a cerrar y volver a abrir la conexión, para ver si es problema de que la rejilla no actualizado los cambios en la fuente?

Un Saludo.
Si... ya lo probé...

Cerre Conexión con Base, desactive consultas IBQuery... Desactive IBTransaction...

Cerre programa... reinicie PC... y nada...

Cuando hice la modificación, me cambio el dato. pincho actualizar para que me muestra otros resultados (con la misma consulta para ver si se cambio el valor).. y me muestra el dato antiguo...

Tambien probé realizando la modificación... sali del modulo... volví a ingresar al modulo.. realice consulta.. y pan.. el valor siguie allí...

Tambien probé lo anterior.. pero saliendo del sistema y volviendo a ingresar ??

__________________
BlueSteel
Responder Con Cita
  #7  
Antiguo 11-03-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Hola amigo BlueSteel, ya probaste con la función ApplyUpdates, yo tenia ese problema y con eso lo solucioné.

Código Delphi [-]
procedure TFPropiedadesExtension.SpeedButton1Click(Sender: TObject);
begin
  DataModule1.IBDSExtensiones.ApplyUpdates;
  FMenu.ItemsModificados := True;
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
qry para modificar registro alcides SQL 10 30-10-2007 14:24:46
Modificar registro Elite237 OOP 4 03-08-2007 05:27:21
Modificar un Registro en un TMDOQuery KAYO Firebird e Interbase 4 30-07-2007 23:43:02
Como modificar un registro? Telemaco Conexión con bases de datos 4 20-02-2004 17:45:48
modificar olo un registro Irina SQL 1 26-05-2003 14:41:59


La franja horaria es GMT +2. Ahora son las 20:55:01.


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