Power Builder - Que campo de la tabla me da error de grabacion

 
Vista:

Que campo de la tabla me da error de grabacion

Publicado por eduardoc (1 intervención) el 17/09/2014 20:17:58
Un problema simple: Tengo un programa que adiciona valores a una tabla (SQL Server 2005), donde hay campos numéricos, characters y tipo fecha. Resulta que esta tabla tiene como 50 campos tipo caracteres de distintas longitudes, resulta que hay casos en que al insertar ( Insert Into .... ) me da el error " Los datos de la cadena o binarios se truncaran" y no adiciona. El tema es como puedo saber cual de los 50 campos es el que me da el problema y no
tener que probrar uno por uno, que resulta bastante laborioso. Sabemos que este problema es porque la longitud de la variable a grabar es mas "ancho" que la longitud del campo. Mi codigo de error es el siguiente

if sqlca.sqlcode < 0 then
messagebox ( " Error en grabacion : " , "Error : " + string(sqlca.sqlcode)+ " : " + sqlca.sqlerrtext )
rollback;
else
commit;
end if

Que sentencia sql le debo incluir para que me señale cual de los "50" campos es el que me da el error.

Si alguien sabe como verlo, me seria muy util ..... gracias

Eduardo C.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Que campo de la tabla me da error de grabacion

Publicado por angel garcia (54 intervenciones) el 19/09/2014 23:05:47
Por lo general esto ocurre con lo campos de tipo char, que tienen longitud definida, no hay un código que te arroje cual es el campo específico, ya que este error lo arroja la base de datos, mi recomendacion es que utilices campos de tipo varchar con dimensiones de hasta 255 en los campos que pueden ser demasiado largos , cambia en la base los tipo de dato char por varchar, regenera o modifica los datawindows y revisale la opción de update, casi siempre ocurre con campos caracter.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de William

Que campo de la tabla me da error de grabacion

Publicado por William (5 intervenciones) el 23/09/2014 15:59:44
si no puedes cambiar la estructura de tu tabla lo otro que puedes hacer es darle el formato a los campos de tipo cadena por ejemplo

select substring(des_nombres_completos,1,5) as corto,
des_nombres_completos
from personal

este select te mostrara solo los 5 caracteres del campo des_nombres_completos

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar