mcjo
-
6 déc. 2001 à 12:00
medicair
Messages postés37Date d'inscriptionvendredi 28 mars 2003StatutMembreDernière intervention25 juin 2010
-
31 août 2006 à 20:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
medicair
Messages postés37Date d'inscriptionvendredi 28 mars 2003StatutMembreDernière intervention25 juin 20102 31 août 2006 à 20:34
Quelqu'un à une idée ? pour récupérer cet ID auto ?
D'avance merci
medicair
Messages postés37Date d'inscriptionvendredi 28 mars 2003StatutMembreDernière intervention25 juin 20102 31 août 2006 à 20:33
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
Goldeneye007
Messages postés70Date d'inscriptionmercredi 7 décembre 2005StatutMembreDernière intervention 9 juillet 2010 13 févr. 2006 à 11:19
J'ai un problème il me dit que rs n'est pas déclaré il faut ajouter un élément?
vignot
Messages postés1Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention 3 octobre 2003 3 oct. 2003 à 12:20
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.
cs_Futura
Messages postés8Date d'inscriptionsamedi 1 février 2003StatutMembreDernière intervention 2 novembre 2003 11 juil. 2003 à 09:47
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
cs_Yopyop
Messages postés586Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention10 février 20101 8 janv. 2002 à 04:52
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
31 août 2006 à 20:34
D'avance merci
31 août 2006 à 20:33
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
13 févr. 2006 à 11:19
3 oct. 2003 à 12:20
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.
11 juil. 2003 à 09:47
Merci de votre aide
8 janv. 2002 à 04:52
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 :)
6 déc. 2001 à 12:00
rs.addnew
rs("..") = ".."
rs.update
recup=rs("Champ_numeroauto")
rs.close
et voila on a ganer une ouverture de base