本編文章將要介紹重點解釋如何在MsSqlServer中更新或添加一條記錄後立即得到其標識列的值,這個值在ACCESS就是我們熟知的自動編號的
ID值,好了,閒話不多說,代碼我也不多寫,只寫關鍵些,相信各位高手一看就明白,呵呵。後面也附帶了在ACCESS中獲取的方法,雖然在ACCESS
中獲取自動編號的文章網上雖然很多,但放在此做為一個總結吧。
SettestRs=Server.CreateObject("ADODB.RecordSet")'創建要測試的對象
testRs.Open"[TestTable]",Conn,1,2'假定開始已經創建Conn,並且數據庫已經連接
testRs.AddNew
testRs(”ColName1”)=”ColName1”
testRs(”ColName2”)=”ColName2”
......
testRs(”ColNameN”)=”ColNameN”
testRs.Update'調用Update方法立即將內存中數據寫入數據庫中,下面這句是關鍵的
testRs.MoveLast'將記錄移動最後一條
ID=testRs(”ID”)'這樣就可以立即得到剛才這個新記錄的自動編號了
最後不要忘記關閉對象
testRs.Close:SettestRs=Nothing
呵呵,以上方法我已經在Windows2000ServerSp4+MsSQLServer+Asp/VB/DELPHI等都測試過,都是可行的。因為本篇文章是針對有些基礎的人閱讀的,故上面的代碼不可直接運行,如各位對上面的代碼有何疑問,請與我聯繫QQ:115269,或者上我的網站來娛樂娛樂:http://www.772.cn/
下面轉貼出如何如何在Access數據庫中插入記錄後馬上得到自動編號的ID值
首先須保證獲得記錄集的方式支持bookmark屬性,如1,3
插入一條帶自動編號字段的記錄後,獲取該記錄的bookmark屬性值
temp=rs.bookmark
然後
rs.bookmark=temp
試試! !
Response.writers("ID").
順便解釋下BookMark是一個什麼屬性,因為現在網上有文章對此的解釋有點歧義:)
返回唯一標識Recordset對像中當前記錄的書籤(我們在ACCESS添加一個新記錄後就可通過這個屬性返回他的自動編號了),或者將Recordset對象的當前記錄設置為由有效書籤所標識的記錄。
設置和返回值
設置或返回計算有效書籤的變體型表達式。
說明
使用Bookmark屬性可保存當前記錄的位置並隨時返回到該記錄。書籤只能在支持書籤功能的Recordset對像中使用。
打開Recordset對象時,其每個記錄都有唯一的書籤。要保存當前記錄的書籤,請將Bookmark屬性的值賦給一個變量。移動到其他記錄後要快速返回到該記錄,請將該Recordset對象的Bookmark屬性設置為該變量的值。
用戶可能無法查看書籤的值,也同樣無法對書籤直接進行比較(指向同一記錄的兩個書籤的值可能不同)。