程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 在MsSql、Access兩種數據庫中插入記錄後馬上得到自動編號的ID值

在MsSql、Access兩種數據庫中插入記錄後馬上得到自動編號的ID值

編輯:關於ASP編程
本編文章將要介紹重點解釋如何在Ms Sql Server中更新或添加一條記錄後立即得到其標識列的值,這個值在ACCESS就是我們熟知的自動編號的
ID值,好了,閒話不多說,代碼我也不多寫,只寫關鍵些,相信各位高手一看就明白,呵呵。後面也附帶了在ACCESS中獲取的方法,雖然在ACCESS
中獲取自動編號的文章網上雖然很多,但放在此做為一個總結吧。
Set testRs=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:Set testRs= Nothing
呵呵,以上方法我已經在Windows 2000 Server Sp4 + Ms SQL Server + Asp/VB/DELPHI等都測試過,都是可行的。因為本篇文章是針對有些基礎的人閱讀的,故上面的代碼不可直接運行,如各位對上面的代碼有何疑問,請與我聯系QQ:115269,或者上我的網站來娛樂娛樂:http://www.772.cn/

下面轉貼出如何如何在Access數據庫中插入記錄後馬上得到自動編號的ID值
首先須保證獲得記錄集的方式支持bookmark屬性,如1,3 

插入一條帶自動編號字段的記錄後,獲取該記錄的bookmark屬性值 

temp = rs.bookmark 

然後 

rs.bookmark = temp 

試試!! 

Response.write rs("ID"). 

順便解釋下BookMark是一個什麼屬性,因為現在網上有文章對此的解釋有點歧義:)

返回唯一標識 Recordset 對象中當前記錄的書簽(我們在ACCESS添加一個新記錄後就可通過這個屬性返回他的自動編號了),或者將 Recordset 對象的當前記錄設置為由有效書簽所標識的記錄。

設置和返回值

設置或返回計算有效書簽的變體型表達式。

說明

使用 Bookmark 屬性可保存當前記錄的位置並隨時返回到該記錄。書簽只能在支持書簽功能的 Recordset 對象中使用。

打開 Recordset 對象時,其每個記錄都有唯一的書簽。要保存當前記錄的書簽,請將 Bookmark 屬性的值賦給一個變量。移動到其他記錄後要快速返回到該記錄,請將該 Recordset 對象的 Bookmark 屬性設置為該變量的值。

用戶可能無法查看書簽的值,也同樣無法對書簽直接進行比較(指向同一記錄的兩個書簽的值可能不同)。

如果使用 Clone 方法創建 Recordset 的一個副本,則原始的和復制的 Recordset 對象 Bookmark 屬性設置相同並可以替換使用。但是,無法替換使用不同 Recordset 對象的書簽,即使這些書簽是通過同一數據源或命令創建的。

遠程數據服務用法 在客戶端 (ADOR) Recordset 對象上使用時,Bookmark 屬性始終有效。 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved