Recordset sur ASP et Update

Recordset sur ASP et Update - Programmation

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 ?

Reply

Marsh Posté le 17-01-2001 à 11:02:19   

Reply

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--

Reply

Marsh Posté le 17-01-2001 à 13:50:28    

Merci beaucoup...

Reply

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?

 

Reply

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ù...

 

Reply

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.....

 

Reply

Marsh Posté le 19-01-2001 à 15:54:43    

Bah caca ! j'aime pas les recordsets avec une liaison permante à la base...

 

Reply

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......

Reply

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...

 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed