![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Vale, ya he encontrado donde falla. Le paso el valor de la variable como comentamos antes, jugando con el step over voy mirando los valores de todo y en el momento en que hace el post, me cambia el valor por 0.
Esto es debido a que tengo un form con una serie de dbedits que se han de rellenar y yo lo que quiero es que cuando se deje uno en concreto en blanco, de forma automatica se meta el valor que yo quiero; pero claro al hacer el post como el dbedit esta en blanco, me guarda el valor 0. Como puedo hacer esto bien??? |
|
#2
|
|||
|
|||
|
Si estás usando Firebird lo mas completo sería utilizar un trigger para verificar el ingreso. Para ver de que manera recurrí al histórico que podés encontrar info.
De ultima podría generarte alguna especie de IF que te condicione el campo a ingresar al momento de la asignación del valor al campo de la BD.
__________________
Suerte .: Gydba :. |
|
#3
|
|||
|
|||
|
La verdad es que no te he entendido lo que me quieres decir. Lo unico que te puedo decir es que el valor que quiero me lo coge bien hasta el momento de postear que me mete de valor 0 (ya que realmente en el dbedit no hay nada).
Aclaremos un poco: IBTablaDATO.AsString:=dato; -----> aqui tengo el dato en la tabla IBTabla.post; ------->aqui ya no lo tengo, me ha guardado 0 ó null, no se Si alguien puede echar un poco de luz sobre este asunto estaria agradecido. |
|
#4
|
|||
|
|||
|
Me parece que no estás formulando bien la pregunta o no te comprendo del todo lo que realmente te pasa.
Si tenés correctamente los obj. de conexión enlazados y hacés: Código:
IBTable.FieldByName['TuCampo'].AsString := 'Prueba'; IBTable.post;
__________________
Suerte .: Gydba :. |
|
#5
|
|||
|
|||
|
A ver, hago el commit y lo pongo tal como dices. Pero el problema no esta aqui. El problema esta en el dbedit, que logicamente esta conectado con la tabla. Yo le paso el dato a la tabla a mano, correcto, pero en el momento en que hago el post, pues supongo que lo que realmente postea es lo que hay dentro del dbedit, y al no haber nada pues no graba nada y me machaca lo que yo habia introducido a mano. Por eso ni me da error ni nada.
No se si me explico... |
|
#6
|
|||
|
|||
|
No sabía que tenías un dbedit enlazado. Si es así entonces no deberías asignar el valor al campo de la BD, puesto que el propio dataset asignado al control debería obtenerlo automáticamente al hacer el post.
Lo que ocurre al hacer el post es que cambia el dataset asignado a tu dbedit y por ende su valor relacionado. Creo que eso es lo que pasa o por lo menos así lo estoy pensando, no te puedo comprobar nada porque no tengo Delphi a mano ![]()
__________________
Suerte .: Gydba :. |
|
#7
|
|||
|
|||
|
Igual es que no me he explicado correctamente en todo lo que hago y me pasa.
Claro que no deberia asignar el valor a mano, ya que el dataset lo asignara automaticamente. Pero el quid de la cuestion es que cuando este dbedit se deje en blanco por el usuario, quiero que se meta un valor concreto. AHI es donde me falla el asunto. Por cierto, gracias por perder el tiempo conmigo ![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|