在MsSql、Access两种数据库中插入记录后马上得到自动编号的ID值

2018-09-06 11:48

阅读:501

  本编文章将要介绍重点解释如何在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,或者上我的网站来娱乐娱乐:

下面转贴出如何如何在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属性设置为该变量的值。

用户可能无法查看书签的值,也同样无法对书签直接进行比较(指向同一记录的两个书签的值可能不同)。

如果使用Clone方法创建Recordset的一个副本,则原始的和复制的Recordset对象Bookmark属性设置相同并可以替换使用。但是,无法替换使用不同Recordset对象的书签,即使这些书签是通过同一数据源或命令创建的。

远程数据服务用法在客户端(ADOR)Recordset对象上使用时,Bookmark属性始终有效。


评论


亲,登录后才可以留言!