Cet article présente principalement la méthode permettant à ASP d'obtenir la valeur d'ID des nouveaux enregistrements. Il présente également les méthodes permettant d'obtenir les deux bases de données ASP+Access2000 et ASP+SQL Server 2000. Les amis dans le besoin peuvent se référer à ce qui suit.
ASP+Access2000
1. L'attribut du champ de valeur ID à obtenir doit être défini sur : numéro automatique (nous supposons que le nom du champ est recordID)
2. Ajouter un format d'enregistrement : Rs.Open table,Cn,1,3
A noter que les modes sont : 1,3
3.newID = rs.Fields("recordID")
4.newID est la valeur ID de l'enregistrement qui vient d'être ajouté
ASP+SQL Serveur 2000
1. L'attribut du champ de valeur ID à obtenir doit être défini sur : numéro automatique (nous supposons que le nom du champ est recordID)
2. Ajouter le mode de code d'enregistrement :
Copiez le code comme suit :
Cn.Execute"INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...)"
3. Obtenez la valeur de l'ID
Copiez le code comme suit :
Définir Rss = Cn.Execute("SELECT SCOPE_IDENTITY() comme newIDValue FROM table")
'Rs.Open sqlStr,Cn,3,1
nouvelID = Rss("nouvelleValeurID")
4.newID est la valeur ID de l'enregistrement qui vient d'être ajouté
5. Vous trouverez ci-joint trois façons d'obtenir la valeur de l'ID :
Copiez le code comme suit :
/* Pour ceux qui souhaitent obtenir l'ID généré par la dernière opération d'insertion dans une table, il est préférable d'utiliser IDENT_CURRENT('TBName')*/
INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT IDENT_CURRENT('recordID') comme newIDValue
/*Il est plus approprié d'utiliser SCOPE_IDENTITY() pour le nouvel ID d'enregistrement qui vient d'être inséré pour une utilisation immédiate*/
INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT SCOPE_IDENTITY() comme newIDValue
/*Si vous souhaitez obtenir le dernier ID auto-croissant dans une série d'opérations, il est préférable d'utiliser @@IDENTITY*/
INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT @@IDENTITY comme newIDValu