FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Post Con Demora
Hola... Tengo una grilla que toma los datos de un Query. Al hacer Post luego de modificar los datos no encuentro la forma (Cambiando SQL del query, cerrando, refrescansdo, etc) que me muestre los cambios. Salvo que le ponga un Timer y espere 1200 y ahi si. Es como que no termina de grabar a disco los datos del registro. Alguna solución ??? Gracias.
|
#2
|
||||
|
||||
Hola
Query1.close, query1.open, es lo logico. No indicas que BD usas. Saludos
__________________
Siempre Novato |
#3
|
||||
|
||||
que base de datos estas usando
cuanta informacion esta grabando que metodo estas usando para grabar algo de codigo no vendria mal
__________________
Dulce Regalo que Satanas manda para mi..... |
#4
|
|||
|
|||
Qué utilizas? Firebird, Access, Paradox, tablas planas?.
Después del Post, prueba a hacer un CLOSE y un OPEN del Query, si aparecen reflejado las modificaciones realizadas es que el Query tiene cargada la consulta y no la refresca hasta que no se cierre y re-abra. En ese caso te recomiendo que trabajes en modo caché, o con ClientDataSet, o que cierres y abras la tabla tras cada posteo o delete reposicionándote en el registro... pero una respuesta más acertada dependerá de que sepamos qué tipo de datos manejas. Saludos.
__________________
Amar al mundo apasionadamente. |
#5
|
|||
|
|||
Ups... tengo que ser más rápido
Vaya... parece que la gente desenfunda rápido... ya han contestado 2 mientras yo escribía mi mensaje...
__________________
Amar al mundo apasionadamente. |
#6
|
|||
|
|||
Respuesta
Es verdad. No di detalles del codigo.
El tema es que edito el registro que modifico. Luego pongo Tabla.Post; y la grilla no se me refresca. No se que mas datos poner. La base es de Access. Gracias. |
#7
|
||||
|
||||
Hola
Dices que pones table.post, pero dices que el dbgrid esta enlazado a un query. Me parece un master detaill, pero solo creo. No te explicas bien. Saludos
__________________
Siempre Novato |
#8
|
|||
|
|||
Problemas con grabacion
Mirá... Es Asi. Una Grilla me refleja con un select en la opcion SQL y me muestra los datos. Luego, segun el registro que este parado yo con un numero interno edito en una Tabla aparte y las modificaciones las grabo con POST. Luego al query que maneja la grilla, lo cerre, le cambie el select, lo activo y desactivo, etc. y me sigue mostrando el registro sin cambios. Ahora, si le pongo un timer en 1200 aprox, y luego de eso corro un refresco del query si se ven los cambios. Espero respuestas. Gracias.
|
#9
|
||||
|
||||
Hola
Copia y pega aqui el codigo que estas usando en todo este proceso. A ver donde esta el asunto. Saludos
__________________
Siempre Novato |
#10
|
|||
|
|||
Tabla.Edit;
Tabla.FieldValues['Fecha'] := DbFecha.Text; Tabla.FieldValues['Tipo'] := DbTipo.Text; Tabla.FieldValues['Num_Sanitario'] := DbNum_Sanitario.Text; Tabla.FieldValues['Num_Especie'] := ListaEspecies.KeyValue; Tabla.FieldValues['Num_Producto'] := ListaProductos.KeyValue; Tabla.FieldValues['Cajas'] := DbCajas.Text; Tabla.FieldValues['Kilos_Netos'] := DbKilos_Netos.Text; Tabla.Post; {RefreshClick(NIL); Timer.Enabled := True;} Query.Close; Query.Open; Donde Query es de la grilla Gracias |
#11
|
||||
|
||||
Hola
Bueno: 1- Nunca he usado filevalues, no se el efecto que hara. 2- como defines que el campo que editaste de la tabla corresponde a alguno del dbgrid. 3- Estas seguro que la tabla apunta a la tabla de la BD que ve el query?. No le veo gran cosa al codigo, solo por confirmacion yo cerraria la tabla despues del post, a ver que pasa. Tabla.post; Tabla.close;. Saludos
__________________
Siempre Novato Última edición por Caral fecha: 03-05-2011 a las 21:09:36. |
#12
|
||||
|
||||
Solo por curiosidad
porque usas un query? y no usas la tabla... o es que estas mostrando solo algunos registros (los que determinas con el query) de la tabla
__________________
Dulce Regalo que Satanas manda para mi..... |
#13
|
||||
|
||||
Hola
Cita:
Saludos
__________________
Siempre Novato |
#14
|
|||
|
|||
Hola, Uso Query porque muestro en la grilla valores de un dia determinado y aparte se combina con otras tablas. Es la mejor forma que encontre.
Te cuento que la grabacion me funciono con cerrar la tabla. Ahora me pasa como antes pero para borrar como ves en el codigo. Que hago ? Hice lo mismo y ahora me tarda en mostrar la eliminación... begin Tabla.TableName := 'Salidas'; Tabla.Filter := 'Contador = ' + inttostr(Query.FieldValues['Contador']); Tabla.Active := True; Tabla.Delete; Tabla.Close; Query.Close; Query.Open; end; |
#15
|
||||
|
||||
mmmm
corrigeme si me equivoco... tu capturas informacion de un determinado dia o dias la muestras en una grilla y luego puedes eliminar, modificar, agregar mas registros verdad? porque no haces el proceso de "actualizacion" al salir de la grilla?, eliminando primero los datos en la tabla original y luego simplemente grabas todo lo que te "queda" en el query que se muestra en la grilla
__________________
Dulce Regalo que Satanas manda para mi..... |
#16
|
||||
|
||||
tengo 7 vidas.... bueno ya me quedan como 4...
__________________
Dulce Regalo que Satanas manda para mi..... |
#17
|
|||
|
|||
El tema es asi: La grilla se relaciona con un query que tiene el select correcto, y de esa grilla yo saco el numero de registro del query de la grilla para buscar en una tabla y elimino con ese contador. El tema ahora es que con Post y close empezo a funcionar. Pero con Delete no. Se entiende lo que hago ?
La Grabación quedo asi. Grilla.Height := 318; BtnAgregar.Visible := true; BtnModificar.visible := true; BtnGrabar.visible := false; BtnCancelar.visible := false; Tabla.TableName := 'Salidas'; Tabla.Filter := 'Contador = ' + inttostr(Query.FieldValues['Contador']); Tabla.Active := True; Tabla.Edit; Tabla.FieldValues['Fecha'] := DbFecha.Text; Tabla.FieldValues['Tipo'] := DbTipo.Text; Tabla.FieldValues['Num_Sanitario'] := DbNum_Sanitario.Text; Tabla.FieldValues['Num_Especie'] := ListaEspecies.KeyValue; Tabla.FieldValues['Num_Producto'] := ListaProductos.KeyValue; Tabla.FieldValues['Cajas'] := DbCajas.Text; Tabla.FieldValues['Kilos_Netos'] := DbKilos_Netos.Text; Tabla.Post; Tabla.Close; If BtnMostrar.Caption = 'Salidas' Then Begin DbFecha.Visible := False; DbTipo.Visible := False; DbNum_Sanitario.Visible := False; ListaEspecies.Visible := False; ListaProductos.Visible := False; DbCajas.Visible := False; DbKilos_Netos.Visible := False; End; Query.Close; Query.Open; Y la eliminación asi: if MessageDlg('Desea Eliminar el Registro ???', mtConfirmation, [mbyes, mbno], 0) = mrYes then Begin Tabla.TableName := 'Salidas'; Tabla.Filter := 'Contador = ' + inttostr(Query.FieldValues['Contador']); Tabla.Active := True; Tabla.Delete; ShowMessage('El Registro ha sido Eliminado'); Tabla.Filter := ''; Tabla.Close; Query.Close; Query.Open; End; end; Que hago mal para que la grabación la tome y la eliminación no... pero si me cambio de dia y vuelvo si. o si refresco a ls 2 segundos tambien. |
#18
|
||||
|
||||
sabes que se me ocurre
veo que haces un filtro a la base de datos por el numero de contador... no crees que al tener una base de datoas cada dia mas grande.. el filtro de una u otra manera demora? lo que te recomiendo es buscar el codigo y hacerle el delete
esto funcionaria mucho mas rapido que un filtro
__________________
Dulce Regalo que Satanas manda para mi..... |
#19
|
|||
|
|||
Mirá, el tema es que ahora en la edicion con post y close lo toma perfecto, pero con delete no, si no espero 1 segundo no refresca...
|
#20
|
||||
|
||||
has leido lo que te puse?
__________________
Dulce Regalo que Satanas manda para mi..... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Demora en la conexión a la base de datos | fxgarcia | Conexión con bases de datos | 6 | 14-11-2007 14:22:12 |
Demora en locate... | Luis Castillo | Firebird e Interbase | 1 | 16-01-2006 18:35:44 |
IBDatase Insert Post Edit Post | ariefez | Firebird e Interbase | 4 | 12-10-2005 02:53:04 |
Demora de conexión... | dunia_lv | Conexión con bases de datos | 0 | 23-05-2005 20:13:37 |
Demora al cambiar la hora | CFPA86 | Varios | 5 | 26-09-2003 21:58:27 |
|