Hola a todos! trabajo con tecnología .NET en C# y he hecho una aplicación para insertar datos de un txt a un access. Para ello utilizo un dataset para ir creando filas nuevas.
Cada fila la voy parseando para agregar cada registro en su posición correspondienet en un datarow.
A la hora de actualizar utilizo el metodo Update de un dataAdapter previamente asociado a ese dataset..
Por otra parte cada plantilla access puede tener restricciones sobre cada una de sus columnas. En este caso una de sus columnas tiene una restricción que consiste en que un valor no puede se mayor de 5 caracteres.
En el txt hay una fila donde el valor correspondiente a dicha columna sobrepasa los 5 caracteres.
Pues bien, voy añadiendo los datos en el datarow, a la hora de añadir ese campo el datarow no muestra un aviso de que la longitud de la cadena recibida sobrepasa lo permitido. A la hora de hacer update con el dataAdapter tenemos pués un campo que en realidad tiene un valor no permitido por sobrepasar la longitud máxima de cadena permitida para ese campo.
El dataAdapter, como era de esperar, produce una excepción. AHORA BIEN, solamente nos informa de que la cadena sobrepasa la longitud máxima permitida. El mensaje concretamente es:
"El campo es demasiado pequeño para aceptar la cantidad de datos que intenta agregar. Intente insertar o pegar menos datos."
Pues bien, lo que yo pretendo es que no solo me informe del error sino que, como debería ser, informe también de la columna donde se produjo el error. Es una carácterística de la que se debería informar al usuario y sin embargo una tecnología tan importante la obvia totalmente. Nadie ha podido resolverme este problema por el momento. Tampoco he encontrado ningun tipo de propiedad ni método, ni librería que sea capaz de mostrar tal información. He probado en construir cada insert a mano y ejecutarla en lugar de hacerlo con un dataAdapter, pero tampoco informa de la columna.
¿Alguien se ha planteado la misma cuestion? ¿Existe alguna solución posible? He pensado que quizá redefiniendo alguna función de la libreria se pueda hacer algo..
¡un saludo y gracias!