[un peu HS] en SQL et C#, comment recuperer le numero d'un enregistrement qu'on vient de faire

Le
nicopilami
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)

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Olivier Guinart [MS]
Le #12255291
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)...




Poster une réponse
Anonyme