Ayuda con campo ID
Publicado por Martin (11 intervenciones) el 02/05/2009 21:49:31
Saludos tengo un gran problema y no se como sulucionarlo.
Estoy utilizando ADO.Net para conectar una base de datos de acces.
Tengo un campo ID, el cual en un principio era autonumerico pero me estaba dando problemas puesto que empeza a incrementarse desde donde keria, etc, etc. Por lo que decidi hacerlo númerico. Y con la siguiente función hacia para asignar el ID al agregar un nuevo registro:
Dim lID As Integer
Dim lCommando As New OleDbCommand("SELECT MAX(ID) from Usuarios", Conexion)
If (lCommando.ExecuteScalar() Is DBNull.Value) Then
lID = 1
Else
lID = lCommando.ExecuteScalar() + 1
End If
Hasta ahi todo bien, el problema es al eliminar un registro, puesto que por ejemplo si tengo 8 registros y elimino el 3, la tabla kedaria asi
1
2
4
5
6
7
8
y lo ke yo necesito es ke kede asi
1
2
3
4
5
6
7
Es decir acyualizar los demás ID's restandole 1, de ke manera puedo solucionar esto, espero que me puedan ayudar, cualquier sugerencia aunque no sea codigo es bienvenida.
Gracias. Saludos.
Estoy utilizando ADO.Net para conectar una base de datos de acces.
Tengo un campo ID, el cual en un principio era autonumerico pero me estaba dando problemas puesto que empeza a incrementarse desde donde keria, etc, etc. Por lo que decidi hacerlo númerico. Y con la siguiente función hacia para asignar el ID al agregar un nuevo registro:
Dim lID As Integer
Dim lCommando As New OleDbCommand("SELECT MAX(ID) from Usuarios", Conexion)
If (lCommando.ExecuteScalar() Is DBNull.Value) Then
lID = 1
Else
lID = lCommando.ExecuteScalar() + 1
End If
Hasta ahi todo bien, el problema es al eliminar un registro, puesto que por ejemplo si tengo 8 registros y elimino el 3, la tabla kedaria asi
1
2
4
5
6
7
8
y lo ke yo necesito es ke kede asi
1
2
3
4
5
6
7
Es decir acyualizar los demás ID's restandole 1, de ke manera puedo solucionar esto, espero que me puedan ayudar, cualquier sugerencia aunque no sea codigo es bienvenida.
Gracias. Saludos.
Valora esta pregunta


0