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 29-06-2005
(VIH)Lestat (VIH)Lestat is offline
Miembro
 
Registrado: abr 2005
Posts: 95
Poder: 20
(VIH)Lestat Va por buen camino
almacenar datos con un DBGrid haciendo Doble clik en una celda

Disculpen señores pero tengo otra pregunta para ustedes .. a ver si me pueden ayudar?? la verdad espero que si???

Quiero almacenar datos en una tabla de 2 columnas del DBGrid pero quiero que este evento ocurra solo cuando yo le de doble click a la fila o al registro del dbgrid... pero no se que evento es el indicado para utilizar....

Utilice el evento ONDBLCLIK pero me marco error ... cual debo usar.... o creen que deberia usar OnKeyPress para darle ENTER y almacenar los datos??? cual? me recomiendan???
Responder Con Cita
  #2  
Antiguo 29-06-2005
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 (VIH)Lestat
Utilice el evento ONDBLCLIK pero me marco error
Pues como no nos digas cuál es el error y el código con el que intentas guardar los registros está difícil que le adivinemos.

// Saludos
Responder Con Cita
  #3  
Antiguo 29-06-2005
(VIH)Lestat (VIH)Lestat is offline
Miembro
 
Registrado: abr 2005
Posts: 95
Poder: 20
(VIH)Lestat Va por buen camino
jajaj ok roman aqui te pongo el codigo que utilizo para almacenar los 2 datos en una tabla llamada IBTgrupos_al..

[CODE delphi]
procedure Tcrear_grupo.alumnosDblClick(Sender: TObject);

var nombre_grupo:string;


begin

nombre_grupo:=crear_grupo.clave_grupo.Text; //Asigna el nombre del Grupo a la variable

if nombre_grupo<>'' then //Compara si el nombre del grupo fue proporcionado
begin
//pasa los parametros desde el DBGrid y almacena los datos

ModuloSID.IBQalm_grupos.Params[0].AsString:=nombre_grupo;
ModuloSID.IBQalm_grupos.Params[1].AsString:=alumnos.Fields[0].AsString;
ModuloSID.IBQalm_grupos.ExecSQL;

application.CreateForm(Tinfo_grupo, info_grupo); //Abre el mensage para indicar que el alumno ha sido almacenado en el grupo
info_grupo.label1.Caption:='El alumno con la Matricula ' + alumnos.Fields[0].AsString + ' ha sido inscrito en el Grupo ' + crear_grupo.clave_grupo.Text;

//Se limpia el registro que fue almacenado
alumnos.EditorMode:=true;
alumnos.Fields[0].AsString:='';
alumnos.Fields[1].AsString:='';
alumnos.Fields[2].AsString:='';
alumnos.Fields[3].AsString:='';
alumnos.Fields[4].AsString:='';
alumnos.Fields[5].AsVariant:='';
alumnos.Fields[6].AsString:='';
alumnos.Refresh; //se actualiza el DBGRid

end
else
begin
showMessage('Necesita indicar el nombre del Grupo');
ModuloSID.IBQsel_alum.Cancel;
end;

//Se cierra y abre la tabla para actualizar valores

ModuloSID.IBTgrupos_al.Close;
ModuloSID.IBTgrupos_al.Open;

ModuloSID.IBQalm_grupos.Close;


end;
[/code]
en donde nombre_grupo es la variable que almacena el nombre del grupo el cual va a hacer insertado en la tabla "IBTgrupos_al", "IBQalm_grupos" es el SQL que almacena los 2 valores en la tabla estos 2 valores los estoy pasando por parametros.... "MODULOSID" es el modulo de datos,

El error que me sale dice: "Not in EDIT MODE" pero no me dice que componente no esta en modo de edicion.. sera el DBgrid???'
Responder Con Cita
  #4  
Antiguo 29-06-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Ese error que citas es porque no has puesto el dataset en modo de edicion.
Antes de alumnos.EditorMode:=true; pon esto ==> alumnos.Edit;
y antes de alumnos.EditorMode:=true; ==> alumnos.Post;
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #5  
Antiguo 29-06-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Perdon
Ahora estoy confudio

Que es alumnos? el DBGRID?
Si es asi me retracto de lo anterior
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #6  
Antiguo 29-06-2005
(VIH)Lestat (VIH)Lestat is offline
Miembro
 
Registrado: abr 2005
Posts: 95
Poder: 20
(VIH)Lestat Va por buen camino
Oye VTdleon pero si estoy utilizando SQl para almacenar datos en una tabla no es necesario que yo utilice las clausulas EDIT y POST en la tabla que quiero almacenar por que estoy utilizando el metodo INSERTINTO (sql) por lo cual no necesito hacer POST para guardar valores.....

Pero GRax por el comentario... no sera que el DBgrid no esta en modo de edicion para borrar el registro que ya ha sido almacenado????
como se pone en modo edit????
Responder Con Cita
  #7  
Antiguo 29-06-2005
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
Conviene que aprendas a usar el debugger de Delphi para determinar con mayor precisión en qué parte del código te está saltando un error.

También creo que ya es tiempo que aprendas a usar las etiquetas [ code ] o [ delphi ]. No es muy cortés pretender que te ayuden si no te tomas esta mínima molestia.

De lo que alcanzo a ver del código lo único que parece presentar algún problema es en

Cita:
Empezado por (VIH)Lestat
Código Delphi [-]
begin
  showMessage('Necesita indicar el nombre del Grupo');
  ModuloSID.IBQsel_alum.Cancel;
end;
ya que aquí no pones el dataset en modo de edición. Lo que comenta vtdeleon puede ser cierto también aunque según la ayuda de Delphi EditorMode := true debería poner el DBGrid (y por ende el dataset) en modo de edición.

// Saludos
Responder Con Cita
  #8  
Antiguo 29-06-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
El DBGRID apunta a un IBQuery? Por que si es asi, este nunca estara en modo de edicion.
Utiliza IBDataset (Propiedades SQLInsert, SQLModify,...) para esto.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #9  
Antiguo 29-06-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Cita:
Empezado por vtdeleon
El DBGRID apunta a un IBQuery? Por que si es asi, este nunca estara en modo de edicion.
Utiliza IBDataset (Propiedades SQLInsert, SQLModify,...) para esto.
Leiste esto?????????
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #10  
Antiguo 29-06-2005
(VIH)Lestat (VIH)Lestat is offline
Miembro
 
Registrado: abr 2005
Posts: 95
Poder: 20
(VIH)Lestat Va por buen camino
Oye Roman Perdon por lo de las etiquetas creo que no las use correctamente.. pero creo que si pudiste entender lo que te queria decir.. bueno tratare de usar el debugger si me dices como funciona...

ok?? perdon por las molestias causadas.... voy a checar y a tratar deutilizar el debugger como me sugeriste
Responder Con Cita
  #11  
Antiguo 29-06-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Cita:
Empezado por (VIH)
bueno tratare de usar el debugger si me dices como funciona...
Dale a F7 para compilar, linea por linea
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 29-06-2005 a las 20:07:15. Razón: Correccion Etiqueta
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 16:08:10.


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