FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Errores al actualizar
Estoy usando firebird 1.0 con IBX, tengo 2 dataset de dos tablas relacionadas, padre - hijo, y se me presentan 2 problemitas...
1. Tengo un generador que lo uso con uno de los datasets en el Post y cuando realizo un ApplyUpdates todo va bien hasta que intento actualizar el Dataset de la tabla hija, me da un error de not in edit mode, aunke no he hecho el applyupdates de este dataset porke primero tengo ke proporcionarle el valor del campo ke funciona como foreign key (el ke produsco con el primer dataset y el generator). 2. En estas mismas tablas uso una constraint Foreign basado en campos pero aparentemente no funciona, puesto que aunke establezco los valores correctos para cada campo en las 2 tablas. Una ultima: necesito sumar 2 campos enteros pero ke el resultado sea una cadena o sea que si sumo 1+2 no sea 3 sino ke '12', este mismo resultado al final debo obtenerlo como entero de la forma 12 y no '12' como cadena. Esto dentro de un triger de firebird. Como le hago?
__________________
Saludos Douglas Cruz |
#2
|
||||
|
||||
De tu primera pregunta, te debo la respuesta...
sobre la segunda, la solución deberia ser algo como (suponiendo que es en un trigger): La tabla es: Código:
Create table Prueba ( Numero1 Integer, Numero2 Integer, Num3s VarChar2(30), Numero3 Integer ); Código:
Begin New.Num3s = Cast(New.Numero1 as String)||Cast(New.Numero2 as String); New.Numero3 = cast(New.Num3s as Integer); End
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Fe de erratas:
El primer cast es Cast(x as VarChar) y no Cast(x as String); Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#4
|
||||
|
||||
Hola.
Un pequeño desliz, también hay que indicar el tamaño : El primer cast es Cast(x as VarChar(30)) y no Cast(x as String); Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#5
|
|||
|
|||
me parece que es justamente lo que necesito
aunque veo que usas un tercer campo que no me gustaria tenerlo, es completamente necesario que tenga ese campo el asunto es que los dos numeros sean concatenados y no sumados pero el resultado debe ser siempre un integer puedo hacerlo de alguna forma sin pasar por el campo de tipo varchar?
__________________
Saludos Douglas Cruz |
#6
|
||||
|
||||
No es necesario. El campo lo utilice solamente para aclarar... pero podes hacer directamente:
Código:
Cast(Cast(campo1 as VarChar(10))||Cast(campo2 as VarChar(10)) as Integer); Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Errores con InstallShiled Express | jplj | Varios | 1 | 03-03-2005 15:28:28 |
Control y captura de errores in acceso BBDD Interbasse con ibExpress | radiohead | Conexión con bases de datos | 1 | 05-11-2004 11:13:22 |
Descripcion de errores | senpiterno | Varios | 9 | 13-04-2004 21:40:28 |
Errores varios | jmselesan | Varios | 3 | 24-07-2003 14:03:14 |
Capturar errores con dbExpress | Gisela | Conexión con bases de datos | 2 | 23-07-2003 17:37:48 |
|