Recordset sur ASP et Update - Programmation
Marsh Posté le 17-01-2001 à 12:46:26
La commande est relou et ne marche que sur SQL Server :
sql = "SET NOCOUNT ON " &_
"INSERT INTO ... (...) VALUES (...)" &_
"SELECT @@IDENTITY AS 'Identity' " &_
"SET NOCOUNT OFF"
dim rs
set rs = server.CreateObject("ADODB.Recordset" )
set rs.ActiveConnection = cnx
rs.CursorType = 0 ' adOpenForwardOnly
rs.LockType = 1ss' adLockReadOnly
rs.Open sql
TEST = rs("Identity" )
rs.Close
set rs = nothing
--Message édité par Lucile--
Marsh Posté le 19-01-2001 à 15:06:40
j'ai le même problème, mais depuis un prgm VB (mais ça ne change rien car je travaille en ADO) mais avec ACCESS.
comment récupérer ce numéro auto après un AddNew?
Marsh Posté le 19-01-2001 à 15:20:13
Euh... Sous ACCESS, j'ai su, mais je sais plus... Désolée...
Essaie quand même cette syntaxe au cas où...
Marsh Posté le 19-01-2001 à 15:39:35
en fait dans mon AddNew, juste après .Udpate, je fais un .MoveFirst et un .MoveLast et j'arrive à chopper la valeur.
seulement, dans le cas d'un accès simultanéss(ce qui sera en fait souvent le cas), j'ai peur de me mélanger les pinceaux et de reprendre une mauvaise valeur...
bon ben au lieu de faire un .MoveLast, je paufine en faisant en .Find.....
Marsh Posté le 19-01-2001 à 15:54:43
Bah caca ! j'aime pas les recordsets avec une liaison permante à la base...
Marsh Posté le 21-01-2001 à 18:02:04
Oui, mais des fois on a pas le choix : la base est accédée en même temps par potentiellement 300 personnes, donc difficile de faire autrement......
Marsh Posté le 22-01-2001 à 02:18:29
Je vois pas le rapport...
Surtout que justement, avec un accès permanant, tu verrouilles la base et la rends donc indisponible pour d'autres process...
Marsh Posté le 17-01-2001 à 11:02:19
Voila le problème : j'ai une table qui a comme clé primaire un numéro auto (SQL Server 7). Avec de l'ASP, j'éxécute un AddNew, et je voudrais récupérer le numéro auto que SQL a généré tout de suite après. Après plusieurs essais, voici mes conclusions :ss
- on ne peut pas faire de MovePrevious, ni une recherche du numéro le plus élevé dans la table, car on est en réseau (300 postes).
- récupérer le numéro juste après le update ne fonctionne pas
- récupérer le numéro juste après le AddNew ne fonctionne pas
Une idée ?