[un peu HS] en SQL et C#, comment recuperer le numero d'un enregistrement qu'on vient de faire
1 réponse
nicopilami
Salut =E0 tous, voila mon pb : en c#, asp.net, je cherche =E0 entrer un
enregistrement ds ma base sqlserver; jusqu'ici tt va bien, l'id de
l'enregistrement est bien cr=E9=E9 automatiquement, mais justement, je
voudrais recuperer ce n=B0 d'enregistrement lors de l'insertion dans la
base; Est-ce possible ou faut il d'abord faire un INSERT... et ensuite
un SELECT MAX(id)...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Guinart [MS]
Bonjour,
Vous devez inserer l'enregistrement d'abord pour beneficier des proprietes inherentes. Cet article ici (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconupdatingdatabasewithdataadapterdataset.asp) ou la (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconretrievingidentityorautonumbervalues.asp). Sinon, sans etre du code, l'article suivant decrit la propriete @@IDENTITY en T-SQL.
Le code ci-dessous marche pour moi (exemple en VB pour Access, devrait marcher pour SQL) : ' Code d'insertion juste avant (INSERT INTO etc...), execute maintenant objCmd = New OleDbCommand(strQuery, objConn) objCmd.ExecuteNonQuery() Dim idCMD As OleDbCommand = New OleDbCommand("SELECT @@IDENTITY", objConn) Dim iLastValue as integer iLastValue = CInt(idCMD.ExecuteScalar())
Cordialement,
Olivier Guinart [MS] -- -Please do not send email directly to this alias. This alias is for newsgroup purposes only -This posting is provided “AS IS” with no warranties, and confers no rights
"nicopilami" wrote:
Salut à tous, voila mon pb : en c#, asp.net, je cherche à entrer un enregistrement ds ma base sqlserver; jusqu'ici tt va bien, l'id de l'enregistrement est bien créé automatiquement, mais justement, je voudrais recuperer ce n° d'enregistrement lors de l'insertion dans la base; Est-ce possible ou faut il d'abord faire un INSERT... et ensuite un SELECT MAX(id)...
Bonjour,
Vous devez inserer l'enregistrement d'abord pour beneficier des proprietes
inherentes. Cet article ici
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconupdatingdatabasewithdataadapterdataset.asp)
ou la
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconretrievingidentityorautonumbervalues.asp).
Sinon, sans etre du code, l'article suivant decrit la propriete @@IDENTITY en
T-SQL.
Le code ci-dessous marche pour moi (exemple en VB pour Access, devrait
marcher pour SQL) :
' Code d'insertion juste avant (INSERT INTO etc...), execute
maintenant
objCmd = New OleDbCommand(strQuery, objConn)
objCmd.ExecuteNonQuery()
Dim idCMD As OleDbCommand = New OleDbCommand("SELECT
@@IDENTITY", objConn)
Dim iLastValue as integer
iLastValue = CInt(idCMD.ExecuteScalar())
Cordialement,
Olivier Guinart [MS]
--
-Please do not send email directly to this alias. This alias is for
newsgroup purposes only
-This posting is provided “AS IS” with no warranties, and confers no rights
"nicopilami" wrote:
Salut à tous, voila mon pb : en c#, asp.net, je cherche à entrer un
enregistrement ds ma base sqlserver; jusqu'ici tt va bien, l'id de
l'enregistrement est bien créé automatiquement, mais justement, je
voudrais recuperer ce n° d'enregistrement lors de l'insertion dans la
base; Est-ce possible ou faut il d'abord faire un INSERT... et ensuite
un SELECT MAX(id)...
Vous devez inserer l'enregistrement d'abord pour beneficier des proprietes inherentes. Cet article ici (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconupdatingdatabasewithdataadapterdataset.asp) ou la (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconretrievingidentityorautonumbervalues.asp). Sinon, sans etre du code, l'article suivant decrit la propriete @@IDENTITY en T-SQL.
Le code ci-dessous marche pour moi (exemple en VB pour Access, devrait marcher pour SQL) : ' Code d'insertion juste avant (INSERT INTO etc...), execute maintenant objCmd = New OleDbCommand(strQuery, objConn) objCmd.ExecuteNonQuery() Dim idCMD As OleDbCommand = New OleDbCommand("SELECT @@IDENTITY", objConn) Dim iLastValue as integer iLastValue = CInt(idCMD.ExecuteScalar())
Cordialement,
Olivier Guinart [MS] -- -Please do not send email directly to this alias. This alias is for newsgroup purposes only -This posting is provided “AS IS” with no warranties, and confers no rights
"nicopilami" wrote:
Salut à tous, voila mon pb : en c#, asp.net, je cherche à entrer un enregistrement ds ma base sqlserver; jusqu'ici tt va bien, l'id de l'enregistrement est bien créé automatiquement, mais justement, je voudrais recuperer ce n° d'enregistrement lors de l'insertion dans la base; Est-ce possible ou faut il d'abord faire un INSERT... et ensuite un SELECT MAX(id)...