Le code suivant provoquera une erreur lors de l'exécution (l'identifiant ne peut pas être déterminé pour la ligne nouvellement insérée), c'est-à-dire que le nouvel enregistrement ne peut pas se voir attribuer la valeur de l'identifiant nouvellement généré pour un autre champ qui lui est propre. Cette situation peut être évitée. dans Access, mais pas dans SQL. Cela peut être résolu en effectuant une recherche sur la méthode Baidu, qui a révélé que de nombreuses personnes ont le même problème mais ne trouvent pas de solution :
Copiez le code comme suit :
définir rs=server.CreateObject(adodb.recordset)
rs.open select * à partir de t1, conn, 1,3
rs.addnew()
rs(données)=abc123
rs.mise à jour
rs(données)=rs(id)
rs.mise à jour
rs.fermer
connexion.fermer
(Remarque : le champ id est la valeur d'identité (identity(1,1)))
Sous une base de données SQL, seules les méthodes suivantes peuvent être utilisées :
Copiez le code comme suit :
estomper le nouvel ID
définir rs=server.CreateObject(adodb.recordset)
rs.open select * à partir de t1, conn, 1,3
rs.addnew()
rs(données)=abc123
rs.mise à jour
nouvelID=rs(id)
'Notez ici que curseurType doit être 1 pour obtenir correctement la valeur d'identification, et elle doit être obtenue après update()
rs.fermer
rs.open select * from t1 où id= &newID,conn,1,3
rs(données)=nouvelID
rs.mise à jour
rs.fermer
connexion.fermer