RECUPERER LE NUMERO AUTO D'UN CHAMP APRES AJOUT

Signaler
-
Messages postés
37
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
25 juin 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/8724-recuperer-le-numero-auto-d-un-champ-apres-ajout

Messages postés
37
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
25 juin 2010
2
Quelqu'un à une idée ? pour récupérer cet ID auto ?

D'avance merci
Messages postés
37
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
25 juin 2010
2
bonjour, effectivement, j'utilise la méthode de MCJO seulement apres l' insert j'arrive à récupérer n'importe quel champs sauf l'Id auto-incrémenté (ASP/MySQL) :
Dim flat
Dim tito
'définit le Recordset
Dim chaine
set objconn=server.createobject("ADODB.Connection")
chaine = "dsn=datamysql;uid=xxx;option=16386"
objconn.open chaine
Set flat = Server.CreateObject("ADODB.Recordset")
'Ouvre le Recordset
flat.Open "GLM_XXX", objconn, 1,2,2
flat.Addnew
flat.fields("id_X01") = X01
flat.fields("ID_user") = session.SessionID
'MaTable.fields("start") = "'Now()'"
' & vbCrLf
for i=1 to 200
flat.fields("rp"& i)="-"' & vbCrLf
next
'ajoute les données dans la base
flat.update
tito=flat("id_XXX") '(l'auto-incrémenté) celui que je ne récupère pas en revanche, flat.fields("ID_user") pas de problème
response.Write(tito)
'on ferme et on supprime la conn et le flat
flat.Close
Set flat = Nothing
objconn.Close
Set objconn = Nothing
Messages postés
70
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010

J'ai un problème il me dit que rs n'est pas déclaré il faut ajouter un élément?
Messages postés
1
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
3 octobre 2003

Salut,

je comprend pas trop l'histoire du rs("..") = ".." ...
en tout cas je sais que sur MS Sql Server on peut accéder à une variable @@IDENTITY qui contient l'AutoInc du dernier insert.
C'est fait exprès, on est sur que "le truc" ne se mélange pas les pinceaux comme dit YopYop.
Pour info @@ROWCOUNT "Returns the number of rows affected by the last statement." comme le dit la doc.
Messages postés
8
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
2 novembre 2003

Une fois cette valeur récupéré, comment puis-je la stocker dans une variable globale à toutes les frames jusqu'à la fin de la connexion ?

Merci de votre aide
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
Non seulement on gagne une connection, mais en plus son code ne fonctionne pas toujours...
En effet, admettons qu'il y ait deux requêtes en +- même temps... il se peut que le truc se mélange les pinceaux et inverse les nouvelles ids...

Quand à la 2ème soluce, elle fonctionne bien pour autant que l'on utilise le bon curseur de BD :)
t'as methode est rigolote mais apres un addnew et un update on peur faire directement :
rs.addnew
rs("..") = ".."
rs.update
recup=rs("Champ_numeroauto")
rs.close
et voila on a ganer une ouverture de base