Datasets con campos autonuméricos
Hola:
Tengo un problema con los autonuméricos de access y el datasets del .NET (en c#).
Relleno un dataset con las tablas de una base de datos por medio del método Fill del DataAdapter.
En la tabla Tiendas, cuando añado un registro al Dataset con el método Add (Ej: dataset. Tables["Tiendas"].Rows.Add("Plaza", "c\Farola", "Madrid",...)), este me devuelve un DataRow que contiene el código de la tienda con el código autonumérico generado.
Cuando en la base de datos se ha borrado la última tienda y por lo tanto el código que se va a generar con al añadir la siguiente tienda se va a incrementar en dos con respecto de la última actual. Por ejemplo sí la última tienda insertada tiene el código 163, aunque se borre, sí después añadimos otra nos dará el código 164, esto sin embargo con el dataset no es así, porque sí borramos una tienda y cerramos la aplicación, al volverla a abrir el siguiente código que devolverá al añadir una tienda será 163, ¡Error! Debería 164 como en la base de datos.
El problema es que necesito ese código para añadir registros en otras tablas que necesitan ese código y como me devuelve uno incorrecto, al hacer el método Update del dataadapter falla y se corrompe la base de datos.
No se sí me he explicado bien, es algo complicado que espero me puedas dar una pista.
Muchas Gracias
Jorge
Tengo un problema con los autonuméricos de access y el datasets del .NET (en c#).
Relleno un dataset con las tablas de una base de datos por medio del método Fill del DataAdapter.
En la tabla Tiendas, cuando añado un registro al Dataset con el método Add (Ej: dataset. Tables["Tiendas"].Rows.Add("Plaza", "c\Farola", "Madrid",...)), este me devuelve un DataRow que contiene el código de la tienda con el código autonumérico generado.
Cuando en la base de datos se ha borrado la última tienda y por lo tanto el código que se va a generar con al añadir la siguiente tienda se va a incrementar en dos con respecto de la última actual. Por ejemplo sí la última tienda insertada tiene el código 163, aunque se borre, sí después añadimos otra nos dará el código 164, esto sin embargo con el dataset no es así, porque sí borramos una tienda y cerramos la aplicación, al volverla a abrir el siguiente código que devolverá al añadir una tienda será 163, ¡Error! Debería 164 como en la base de datos.
El problema es que necesito ese código para añadir registros en otras tablas que necesitan ese código y como me devuelve uno incorrecto, al hacer el método Update del dataadapter falla y se corrompe la base de datos.
No se sí me he explicado bien, es algo complicado que espero me puedas dar una pista.
Muchas Gracias
Jorge
1 respuesta
Respuesta de denciso
1