ASP擷取剛插入記錄的自動編號ID,以下列出了兩種資料庫的方法。
ASP+Access2000
1.要擷取的ID值欄位屬性必須設為:自動編號(我們假設欄位名為recordID)
2.添加記錄格式:Rs.Open table,Cn,1,3(注意模式為:1,3)
3.newID = rs.Fields("recordID")
4.newID為剛添加的記錄的ID值
ASP+SQL Server 2000
1.要擷取的ID值欄位屬性必須設為:自動編號(我們假設欄位名為recordID)
2.添加記錄代碼模式:
Cn.Execute"INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...)"
3.得到ID值
Set Rss = Cn.Execute("SELECT SCOPE_IDENTITY() as newIDValue FROM table")'Rs.Open sqlStr,Cn,3,1newID = Rss("newIDValue")
4.newID為剛添加的記錄的ID值
5.附上取得ID值的三種方式:
/* 對於想要得到一個表中的最後一個插入操作所產生的ID的最好用IDENT_CURRENT('TBName')*/INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT IDENT_CURRENT('recordID') as newIDValue/*對於馬上使用的剛才插入的新記錄ID用SCOPE_IDENTITY()是最合適的*/INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT SCOPE_IDENTITY() as newIDValue/*對於想要得到一系列的操作中最後得到的那個自增的ID最好用@@IDENTITY*/INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT @@IDENTITY as newIDValue
以上三種方式在SQL Server2000的查詢分析器裡測試成功,如果要用到網頁代碼裡,請根據上面的例子修改。