
insert into T_User(user_name,user_password,user_email,user_ip)
values('admin','123456','32962435@qq.com','58.20.158.20')
有一天,我们想在新增插入数据的时候获取到插入这条数据的u_id的值是多少,我们知道从MSSQL2005以后新增了一个output,用来输入某个值,我们就可以利用它来实现
解决的方法有两种:
1、一种是直接输入某个字段,如:
insert into T_User(user_name,user_password,user_email,user_ip) output inserted.u_id //output
inserted.u_id一定要放在 values之前,不能放在sql语句的最后面,不然是出错的,inserted是固定的,你想输入当前插入的某个字段就在后面接这个字段即可,我们想获得的是u_id所以是inserted.u_id
values('admin','123456','32962435@qq.com','58.20.158.20')
2、另一种方法是使用@@identity,@@identity是系统内置的一个全局变量,其作用就是输入最后一次的标示符,我们可以两步走也可以通过一步实现
一步实现的代码如下
insert into T_User(user_name,user_password,user_email,user_ip) output @@identity
values('admin','123456','32962435@qq.com','58.20.158.20')
在录入数据之前当前录入的数据ID为空,当你把数据完全真确录入到数据里面的时候,也就是rs.update执行完毕这个数据才算录入进去,这时ID才会产生。要获得ID在RS.UPDARE结束后使用SQL语句查询最后一条记录的ID。这样ID才会获得到。
语句可以这样写 select top 1 * from [表的名称] order by id desc.
最简单的办法使用rs.addnew,这个添加完数据,你直接rs("id")就能取了,不用再单走查询。不清楚你再问我。你用recordset的addnew方法做添加数据 *** 作。
rs.addnew
....
rs.update
id
=rs("id")
注意open的游标设置为3,3,2,否则最后id可能取不到。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)