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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-08-2012
odiseeus odiseeus is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 31
Poder: 0
odiseeus Va por buen camino
ADOQuery no permita nuevos registros, pero si actualizaciones

buen día a todos,

mi problema es el siguiente, tengo un ADOQuery, un DataSource y un DBGrid y estan conectados asi:

DBGrid conectado al DataSource y este conectado al ADOQuery, a lo cual todo funciona perfectamente.

mi duda va a que quiero que desde el DBGrid se pueda modificar los datos de la consulta hecha en el ADOQuery (eso se hace directamente en el DBGrid, no hay problema), pero que desde el mismo DBGrid no se pueda insertar un nuevo registro, pues al ir al ultimo registro mostrado en el DBGrid y bajar una linea mas da la opción de insertar un nuevo registro y eso es lo que no quiero que pase.

en pocas palabras que desde el DBGrid modifique los registros existentes pero que no permita un nuevo registro, el DBGrid tiene la propiedad ReadOnly pero no me dejaría modificar los registros existentes, también he visto que el ADOQuery tiene un evento BeforeInsert en el cual creo que se podría colocar algo que no dejara una nueva inserción de registro, pero no se como iría el código, espero una colaboración.

trabajo en C++ builder Embarcadero XE2, gracias.
Responder Con Cita
  #2  
Antiguo 03-08-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola odiseus.
Cita:
en pocas palabras que desde el DBGrid modifique los registros existentes pero que no permita un nuevo registro
Probá con:
Código Delphi [-]
procedure TForm.ADOQueryBeforeInsert(DataSet: TDataSet);
begin
  Abort
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 04-08-2012
odiseeus odiseeus is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 31
Poder: 0
odiseeus Va por buen camino
gracias por responder ecfisa, pero he intentado lo que me muestras y no cumple con lo que yo quiero, pues igual da la opción de insertar un nuevo registro así después no lo haga, pero eso puede ser un poco confuso para el usuario, asi que lo he intentado por otro lado que se me ocurrio y me dio!

lo que hice fue lo siguiente: como el usuario interactua por medio del DBGrid y al moverse en el mismo, el cambio de registro se marca en el ADOQuery haciendo cambiar de estado al DataSouce entonces fui al evento StateChange del DataSource y puse un condicional que al ver que llego al final de los registros no me de la opción de ingresar uno nuevo sino que siempre me deje el cursor en el ultimo, pero si permitiendo modificar los existentes, el código fue así (C++):

Código:
void __fastcall TDM::DataSourceStateChange(TObject *Sender)
{
	If (ADOQuery->Eof)
	{
		ADOQuery->Last();
	}
}
gracias! por su colaboración!
Responder Con Cita
  #4  
Antiguo 04-08-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola odiseus.

Tenes razón, de ese modo es mucho más claro para el usuario.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
no añade nuevos registros danielmj Conexión con bases de datos 5 17-08-2011 19:05:15
Monitorear nuevos registros Willo Conexión con bases de datos 1 09-03-2008 06:04:16
cantidad de registros devueltos por adoquery ozegarra OOP 2 16-01-2008 17:39:43
Modo de insertar nuevos registros y HOLA nachito_tuc Conexión con bases de datos 5 01-08-2006 14:13:08
Actualizaciones de Campos en un ADOQuery!! Chocoslovaco Conexión con bases de datos 19 22-07-2005 01:25:55


La franja horaria es GMT +2. Ahora son las 08:23:00.


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