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 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Empezado por pelikno Ver Mensaje
Uso un dbNavigator para manipular la grilla, uso el append del navigator para crear un nuevo registro y edito los datos directamente de la grilla, luego guardo los cambios tb con el navigator.
Bueno. Creo que nunca use el DbNavigator para dar de alta un registro (aunque creo que solo lo estas usando para probar) y por lo tanto no se bien como captar que boton apreta el cliente. Lo que si puedes hacer y como para probar es en el evento que indicas "afterpost" poner así:

Código Delphi [-]
localidades.ApplyUpdates;
TuTransaccion.commitRetaining;
localidades.Refresh;

y en cuanto a componentes yo no uso IbTable, lo hago a traves de IbDataset pero creo que no esta mal como lo implementas.-

PD: Son las transacciones
Responder Con Cita
  #2  
Antiguo 02-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por MartinS Ver Mensaje
PD: Son las transacciones
Son las transacciones, amigo pelikno
Responder Con Cita
  #3  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
Bueno. Creo que nunca use el DbNavigator para dar de alta un registro (aunque creo que solo lo estas usando para probar) y por lo tanto no se bien como captar que boton apreta el cliente. Lo que si puedes hacer y como para probar es en el evento que indicas "afterpost" poner así:

Código Delphi [-]
localidades.ApplyUpdates;
TuTransaccion.commitRetaining;
localidades.Refresh;

y en cuanto a componentes yo no uso IbTable, lo hago a traves de IbDataset pero creo que no esta mal como lo implementas.-

PD: Son las transacciones
Lo del navigator es para prueba , probe con lo que me dijiste y sigue igual, tengo que cerrar la aplicacion en el cliente para poder refrescar los cambios que hizo el servidor y viceversa .
Responder Con Cita
  #4  
Antiguo 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Imagino que estas haciendo referencia a traves del datasource al IbTable. Por eso yo uso IbDataset donde la consulta sale a partir de una sentencia SQL que se actualiza cada vez que se abre el formulario, por decirlo de alguna forma.

Por ejemplo

Código Delphi [-]
 IbQuery1.close;
   IbQuery1.Sql.Clear;
   IbQuery1.Sql.Add(Select Apellido,Nombres,DNI,Direccion From Clientes);
   ibQuery1.Sql.Open;

y para actualizar con un simple

Código Delphi [-]
 IbQuery1.close;
   IbQuery1.Open;

me funciona
Responder Con Cita
  #5  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
Imagino que estas haciendo referencia a traves del datasource al IbTable. Por eso yo uso IbDataset donde la consulta sale a partir de una sentencia SQL que se actualiza cada vez que se abre el formulario, por decirlo de alguna forma.

Por ejemplo

Código Delphi [-]
 IbQuery1.close;
   IbQuery1.Sql.Clear;
   IbQuery1.Sql.Add(Select Apellido,Nombres,DNI,Direccion From Clientes);
   ibQuery1.Sql.Open;

y para actualizar con un simple

Código Delphi [-]
 IbQuery1.close;
   IbQuery1.Open;

me funciona
si si tengo en la grilla,datasource y ibtable. Claro te funciona porque se realiza la consulta otra vez a la base con los datso actualizados, pero no entiendo porque con el ibtable no lo hace, le hice un trasaction.commit; y me cierra todas las tablas, como que rompe todo.
Responder Con Cita
  #6  
Antiguo 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Empezado por pelikno Ver Mensaje
si si tengo en la grilla,datasource y ibtable. Claro te funciona porque se realiza la consulta otra vez a la base con los datso actualizados, pero no entiendo porque con el ibtable no lo hace, le hice un trasaction.commit; y me cierra todas las tablas, como que rompe todo.
El commit solo cierra los dataset usa commitretaining. Igual debe quedar colgado algún procedimiento para hacer. A partir de aquí desconozco porque no hago nunca referencia al ibtable directo para mostrar datos, siempre uso Query's.
Responder Con Cita
  #7  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
El commit solo cierra los dataset usa commitretaining. Igual debe quedar colgado algún procedimiento para hacer. A partir de aquí desconozco porque no hago nunca referencia al ibtable directo para mostrar datos, siempre uso Query's.
Porque usas querys?
Responder Con Cita
  #8  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
El problema es que no se actualizan las tablas y no se porque !!
Responder Con Cita
  #9  
Antiguo 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Empezado por pelikno Ver Mensaje
Porque usas querys?
Simplemente porque no es recomendable ni necesario en cualquier sistema que se muestren todos los registros. Es decir, cuando un usuario busca algo en particular sabe lo que necesita ver y nosotros debemos darle mas o menos la estructura de busqueda para que no se nos dispare la memoria del programa. Imaginate si la tabla tiene un millon de registros por ejemplo. Entonces solo limito lo que quiero mostrar.
Por otro lado las consultas se ejecutan en el servidor y enviar todos (y digo todos) los datos por red puede ser demasiado engorroso y saturar todo facilmente. Por ello mis consultas son del tipo

Código Delphi [-]
   IbQuery1.close;
   IbQuery1.Sql.Clear;
   IbQuery1.Sql.Add(Select Apellido,Nombres,DNI,Direccion From Clientes);
   IbQuery1.Sql.Add(Where apellido = 'Perez')
   ibQuery1.Sql.Open;
Donde solo traera los Perez
y si quiero editar un registro, primero lo busco y solo traigo el que me interesa

Mas o menos es así

En cuanto a las tablas si cerras y volves a abrir los cambios estan tiene que ser tema de refresco pero ahi como ya te dije mucho no se.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Diseño de Sistema magnu9 Varios 14 16-10-2007 05:27:53
Consulta con diseño de BD Petolansa Varios 7 11-08-2007 02:30:01
en diseño web miamuxi Conexión con bases de datos 6 19-01-2007 20:13:50
Diseño pepelu1975 Varios 1 31-05-2004 09:55:36
duda en el diseño wonder boy SQL 3 31-03-2004 19:55:06


La franja horaria es GMT +2. Ahora son las 19:45:06.


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