Bonjour,
J'ai un petit problème pour obtenir l'autoincrement dans une base access. J'obtiens toujours la valeur 0 !
Voici comment je procède :
Et la fonction GetLastIdFromDatabase :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Dim Nouveau As Boolean = False If RowDossier.RowState = DataRowState.Detached Then dsElite2007event.Dossier.AddDossierRow(RowDossier) Nouveau = True End If ' mise à jour du Dossier Me.taDossier.Update(Me.dsElite2007event.Dossier) If Nouveau = True Then Dim id As Integer = ClassElite2007database.GetLastIdFromDatabase(Me.taDossier.Connection) RowDossier.idDossier = id End If
Est ce que c'est à cause du Update qui ouvre et qui ferme la connexion et une fois la connexion fermé, le @@IDENTITY est perdu ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Public Function GetLastIdFromDatabase(ByVal connexion As OleDbConnection) As Integer Dim id As Integer Try Dim maCommande As New OleDbCommand("SELECT @@IDENTITY", connexion) maCommande.Connection.Open() id = CInt(maCommande.ExecuteScalar()) maCommande.Connection.Close() Return id Catch End Try End Function
Merci de votre aide si vous avez une petite idée.
Partager