Salut,
Ma base de données est SQL Server 2005 Express.
Lorsque je suis dans Management Studio Express et que je fais cette requete :
Ca fonctionne impécable.
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO test (nom) VALUES ('test') ; SELECT @@IDENTITY AS LastId ;
Donc, le problème ne vient pas de SQL Server (c'est pour ca que je n'ai pas posté mon message dans le forum SQL Server).
Par contre, quand je lance ces requetes depuis le serveur IIS ainsi :
@@IDENTITY ne renvoi rien. Un peu comme si chaque requete (pourtant dans la meme connexion) n'était pas dans la meme connexion.
Code VBScript : 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
18
19
20
21
22
23 <% Dim Conn Dim RS Dim intLastid Set Conn = Server.CreateObject("ADODB.Connection") Set RS = Server.CreateObject("ADODB.Recordset") Conn.Open = "Driver={SQL Native Client};" & _ "UID=user;" & _ "PWD=pass;" & _ "DATABASE=base;" & _ "SERVER=FILESERVER\SQLEXPRESS" RS.Open "INSERT INTO test (texte) VALUES ('test')", Conn RS.Open "SELECT @@IDENTITY AS lastid", Conn intLastid = RS("lastid") RS.Close Response.Write "Le dernier id est : " & intLastid Conn.Close Set RS = Nothing Set Conn = Nothing %>
Est-ce ma methode ou bien l'ADODB qui fait ca ?
A NOTER :
Exactement le meme code fonctionne parfaitement sur un serveur MySQL.
@@IDENTITY renvoi bien le dernier id inséré par la connexion en cours.
Partager