FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Al volver al entrar en la aplicación me sale el ultimo Registro Repetido !!!!!
Escenario:
Delphi 7 Componentes IBX FireBird 1.5.3 ubicada en Server Linux Aplicacion Server/Client Client en WinXP La situación es: cargo un formulario donde aparece un DBGrid conectado a una base de datos (IBDataBase, IBTransaction, IBDataSet, DataSource) al selecionar la celda requerida en la columna deseada del dbgrid, paso a editar el valor incluido en la celda, para eso en el evento OnColEnter comparo el nombre de la colmuna y luego coloco la opcion de edicion para cambiar dicho valor. Luego, continuo en la misma columan de la misma manera pero en la siguiente fila hasta modificar todas las filas (6). Todo queda perfecto, pero cuando salgo de la aplicación y vuelvo a entrar al mismo formulario en el dbgrid aparecen las (6) filas pero en la columna que se modificó aparece el último valor que entré en la ultima fila y repetido en todas las demás filas. He revisado el DataChage en el DS no tiene nada, no se hace ningun post, Ahora bien ¿De que depende este comportamiento? |
#2
|
||||
|
||||
Ensayo y Error
He realizado varias pruebas tales como: coloqué un disparador en la base de datos que se activa cuando se hace un update en la tabla en cuestión, y efectivamente cuando estoy haciendo la edición en el dbgrid se actualiza directamente la tabla, por lo que no se cómo controlar esto y poder manipularlo es decir si se hace una edición se debería hacer un post y seguidamente un commit, pero quisiera saber como es el comportamiento entre un ibdataset y un dbgrid, tal vez el conocer dicho comportamiento me ayudaría a controlar la situación...
|
#3
|
||||
|
||||
Otra prueba
He realizado otra prueba: Coloqué componentes tales como TEdit para leer los datos y luego de leerlos les hago un post y los graba perfectamente, según el dbgrid, pero al cerrar la aplicación y volverla a abrir me sale con el mismo comportamiento (Error para mi). También informo que en los eventos del IBDataSet AfterPost y AfterDelete se hace un CommingRetaing; Que podrá ser
|
#4
|
||||
|
||||
Saludos
Muestranos todo el codigo relacionado con esa transaccion, sea codigo Delphi o SQL, ademas de las propiedades modificadas del Dataset
__________________
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! |
#5
|
||||
|
||||
Información Requerida
Ok en el IBDataSet están definidos en los eventos AfterPost y AfterDelete coloco un CommitRetaining.
En el IBDataSet Detalle tengo lo siguiente: SqlModify:
SqlInsert:
SqlDelete:
SqlRefresh:
SqlSelect:
En el IBDataSet Maestro tengo lo siguiente: SqlModify:
SqlInsert:
SqlDelete:
SqlRefresh:
SqlSelect:
Ahora bien, la tabla maestra contiene datos de definición de listas: Semana=====>Campo Relación Fecha_Inicio==>Campo Relación Fecha_Fin====>Campo Relación La tabla detalle contiene detalles de la lista como identificacion de vehiculos y su chofer: Semana=====>Campo Relación Fecha_Inicio==>Campo Relación Fecha_Fin====>Campo Relación Placa Peso_Inicial Peso_Final {datos del vehiculo} Cedula {datos del chofer} El código delphi lo tengo cuando leo los campos Peso_Inicial y Peso_Final en la tabla detalleis es:
Gracias, por la atención. |
#6
|
||||
|
||||
La solución al problema planteado inicialmente, fué en agregar a la clausula SqlModify el campo de placa, para así modificar únicamente el registro que corresponde y no todos los que contenían semana, fecha_inici y fecha_fin:
Gracias por la atención.... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Obtener el último registro insertado | mutant09 | SQL | 3 | 04-05-2004 20:59:21 |
Ultimo registro | ander | Firebird e Interbase | 3 | 18-03-2004 14:52:02 |
como saber el identificador del último registro almacenada en una base de datos. | soyhugo | Varios | 2 | 16-02-2004 16:04:04 |
Obtener el último registro | juanchi | Conexión con bases de datos | 2 | 06-02-2004 01:52:21 |
Ir al último registro de una tabla | fortran | Tablas planas | 6 | 05-09-2003 16:36:02 |
|