FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Editar e Insertar con un Dataset
Nuevamente solicitando ayuda con esto de los IBX y FB 2.0 D7.
tengo este codigo:
y espero obtener esto Cita:
__________________
ESTO ES UN FORO ... NO UN MÓVIL ¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender? |
#2
|
||||
|
||||
Hola FGarcia,
¿No será tal vez que estas sentencias:
deberían ir dentro del begin-end de la parte else? Saludos, |
#3
|
|||
|
|||
en el else solo se ejecuta el showmessage . El bloque begin end se ejecuta siempre. |
#4
|
||||
|
||||
Hola, opino lo mismo que el amiguito coso. el problema esta en el else, el else solo ejecutara el Showmessage y como el begin y end quedan sueltos eso se ejecutara siempre, pon el showmessage dentro tu bloque begin.
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#5
|
|||
|
|||
Ok! si, ese era un error que de tanto manipular ya no veia, sin embargo aun corrigiendolo el resultado no es el esperado, es decir...¡sigue sin funcionar!
ahora solo inserta los primeros 4 registros y no vuelve a insertar nada ( de hecho ahi comenze) el showmessage los coloque a modo de test de que sí ingresa al ciclo y lo hace bien, pero no guarda los datos que se van a editar. Ya ejecute un debug paso a paso y todo funciona bien, los datos se incrementan segun espero mas no son registrados en la bd. Cita:
__________________
ESTO ES UN FORO ... NO UN MÓVIL ¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender? |
#6
|
||||
|
||||
Según lo que veo el codigo hace lo que debería de hacer, incrementa en 1 el valor de los campos ACCOPERACION y GBLOPERACION, si no existe se agrega un registro con el nuevo ID e incrementa 1 desde 0 los mismos campos.
Quizás el error está en que te falta agregar las operaciones que mencionaste en un principio ("//Espero obtener algo asi (DESPUES DE VARIAS OPERACIONES):"), tambien veo que en el locate estas buscando en el campo "BASCULA" y en los datos nos estás mencionando el Campo "ID". Sería bueno que nos dijeras el valor que tienen los campos (ACCOPERACION y GBLOPERACION) antes de que hagas la edicion, si no es cero quizás haya algo mas que se nos escapa a la vista. Saludos |
#7
|
|||
|
|||
probaria esto
poca modificacion podria ser el trim, o las mayusculas de BASCULA. He usado FieldValues solo para asegurar que existen los campos, y eliminar el with por legibilidad, nada mas. Última edición por coso fecha: 23-10-2008 a las 20:28:14. |
#8
|
|||
|
|||
Otra cosa...¿el locate debe hacerse al campo bascula? ¿strPeso no lo usas? y...¿los strid que envias a la funcion son los correctos?
|
#9
|
|||
|
|||
gracias nuevamente por el interes.
boreg: el nombre del campo es bascula, en la "tabla" que puse de ejemplo lo cambie por ID (un errorcillo), he realizado hasta 60 operaciones pero las cuentas no pasan de 1. La tabla la vacio antes de cada prueba que he realizado por lo que empiezo desde 0 los valores de los campos ACCOperacion y GBLOperacion. coso: probe tus modificaciones pero sigue haciendo lo mismo. El campo bascula es un campo de tipo integer que solo va a poseer 4 valores (1,2,3,4) de ahi el ID. Cada operacion realizada por esa bascula se va a contar y se colocara en dos campos ACCOperacion y GBLOperacion. el campo strPeso es similar solo que el acumulara un float, actualmente no lo uso pues quiero primero definir lo del contador. 100% certificado que los datos que llegan son correctos. p.d. Esto ya lo hice una vez con access, ahora que lo quiero colocar en firebird estoy mas perdido que un oso polar en el sahara.
__________________
ESTO ES UN FORO ... NO UN MÓVIL ¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender? |
#10
|
|||
|
|||
si bascula es de tipo integer no tendrias que hacer...
locate('bascula',strtoint(strid),[])? creo que si no lo que estas haciendo es comparar el valor numerico de la cadena '1'. |
#11
|
||||
|
||||
No se como funcionan los IBX pero, quizás no te está actualizando el valor de los campos con el POST prueba con un APPLYUPDATES y si usas algún componente de transaccion o estás abriendo una transaccion desde el componente de conexión (no se como se manejen las transacciones con IBX) haz, por lo menos, un commitretain.
Saludos |
#12
|
|||
|
|||
Pues no.
El CommitRetaining lo ejecuto despues del post en el evento afterpost del dataset. Segun F1 : Cita:
sniff, sniff, sniff ¡¡quiero a mi máma!!
__________________
ESTO ES UN FORO ... NO UN MÓVIL ¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender? |
#13
|
|||
|
|||
pero...pero...si pones el strId tal cual...te esta comparando el valor numerico de la cadena ...pruebalo, a ver q pasa...
('1' es 31,'12' es 63...etc) |
#14
|
|||
|
|||
pues no, ¡es exactamente el mismo resultado!
Te comento que he realizado el paso a paso y los resultados son congruentes con lo que espero (insercion y edicion), sin embargo al revisar la bd desde IBExpert estos no son reflejados, solo se realiza la insercion de los primeros 4 registros, la edicion posterior no. No he encontrado alguna referencia a algún proceso especial para el edit. Nuevamente gracias por tu interes!
__________________
ESTO ES UN FORO ... NO UN MÓVIL ¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender? |
#15
|
|||
|
|||
GRRRRRRRRRRRRRRR!!
¡¡¡ESTUPIDO, ESTUPIDO, ESTUPIDO!!! Me fui un rato a leer este hilo y carajo se me quito el cortocircuito cerebral que traia (¿realmente se quito?). En el Dataset editor estaba declarada esta sentencia:
y Modificaque a esto
El campo ID es un consecutivo autogenerado por fb en realidad no me sirve para nada (lo mantengo para no tener que reestructurar la tabla por si las dudas mas adelante), Todo funcionando OK. Gracias por la ayuda a todos los que se interesaron.
__________________
ESTO ES UN FORO ... NO UN MÓVIL ¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender? |
#16
|
|||
|
|||
yo me alegro por ti q lo hayas solucionado. saludos.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Copiar el contenido de un DataSet a otro DataSet | Javi2 | Varios | 82 | 22-11-2022 09:26:16 |
Intento insertar y/o editar en un DBGrid y no me permite. | joal | Conexión con bases de datos | 2 | 05-04-2007 18:17:59 |
Problema con insertar instruccion en un dataset | el_barto | Conexión con bases de datos | 2 | 13-07-2005 00:16:41 |
insertar un nuevo sql en un DataSet.insertsql | el_barto | Conexión con bases de datos | 2 | 17-06-2005 23:14:02 |
editar un exe | piskapocha | Varios | 2 | 31-03-2004 22:20:39 |
|