失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 如何取得当前插入记录的ID

如何取得当前插入记录的ID

时间:2018-08-09 18:28:23

相关推荐

如何取得当前插入记录的ID

我们在设计数据库时一般都会设计一个自增长型的或GUID型的字段作为记录的唯一性标志,这样的字段在执行插入操作时其值一般都由数据库自行分配,不需要我们为其赋值,但是在实际使用过程中我们常常需要在完成插入操作以后立刻就返回新记录的ID,那么新记录的ID该如何取得呢,一般常用的有以下几种方法,其一是不使用自增长型字段,在插入前先计算出下一ID的值,由于ID值是计算出来的并不是由数据库分配的,所以自然可以轻松取得新记录的ID值了,这种方法一般常在存储过程里面结合事务一起来使用;其二是先执行插入操作,操作成功以后再执行一次查询操作,查询最后一条与插入的数据相匹配的记录,其对应的ID就是新记录的ID,如果是SQL Server数据库还可以在Insert语句后面跟上Select @@identity 来直接返回新记录的ID;

如果我们使用ADO RecordSet对象的AddNew方法进行数据库插入操作,实际上还有一种更简便的方法可以返回新记录的ID,比如:

dim id as long

'建立数据库连接

dim conn as new adodb.connection

conn.open …………

'打开news表并插入数据

dim rs as new adodb.recordset

rs.open "selectid,title,content fromnews where 0=1",conn,1,1

rs.addnew

rs.fields("title")="标题"

rs.fields("content")="内容"

rs.update

id=rs.fields("id") '返回新记录的ID

rs.close

set rs=nothing

conn.close

set conn=nothing

从上面的代码可以看出来在rs.update将新记录保存到数据库以后先不关闭记录集,直接用rs.fields("id")就可以取得新记录的ID。

--------------------------------------------------------------------------------------------------PS:本文档为本人原创,如需转载请注明作者及出处。谢谢!

如果觉得《如何取得当前插入记录的ID》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。