Saludos a todos
A ver si alguien me puede sugerir algo mas eficiente
Estoy trabajando en VB.Net con formularios windows y una base de Access.
la tabla con la que estoy trabajando tiene un campo autonumerico, el cual
necesito recuperar para poder generar adecuadamente los detalles
estoy ejecutando un comando escalar para recuperar el @@IDENTITY
para esto Inserto un registro con valores predeterminados, hago el Update y
recupero el valor autonumerico, aqui es donde me surgen un par de problemas
1) el Row de mi DataTable no carga el valor del autonumerico, necesito
asignarlo a mano dentro del Item del DataRow
2) Al editar los datos e intentar almacenar me salta un error de
concurrencia, y no efectua la acutalizacion adecuadamente
He resuelto esto haciendo lo siguiente
1) Agregando el registro con valores predeterminados
2) Ejecutar el Metodo Update e inmediatamente recuperar el valor del
Autonumerico
3) Limpiar la tabla
4) Cargar nuevamente el registro utilizando como parametro el valor del
Autonumerico
de esta forma no me marca el conflicto de concurrencia al intentar guardar
los datos editados
Sin embargo me parece poco eficiente ya que tiene que realizar al menos 3
accesos para obtener el registro con el campo autonumerico
alguine me puede indicar un camino mas eficiente para esta cuestion?
He intentado con LoadDataRow, dejando a nothing el campo autonumerico para
que lo cargue inmediatamente, pero solo me funciona si previamente cargue el
ultimo registro de la tabla, de forma que pueda ejecutar el incremento bien.
Lo mismo me sucede con los bindings, utilizando el BindingContext y
agregando el registro, solo si hay datos previamente cargados genera bien el
campo incremental
Gracias de antemano
Carlos Durán
Leer las respuestas