ASP+MSSQL获取最新最后添加数据信息的ID记录值

用法:
conn.Execute("Insert INTO 表名(帐号,密码) VALUES('aaa',123)" )    '添加数据
set rs=conn.execute("Select SCOPE_IDENTITY()")  '获取新ID
newsid=rs(0)    'newsid为你表中的id
rs.close

'说明===========================!

'SCOPE_IDENTITY()
'取得当前会话最新生成记录的所生成的自动id值ID
'当前会话修改的任意表~~标识ID(自动编号)

IDENT_CURRENT()
'任意会话修改的当前表的最新 标识id ,可以不是你的会话所修改的

@@IDENTITY
'当前回话,并包括SQL触发条件所修改的任意表 标识ID ,可能你的会话修改的返回的是
'SCOPE_IDENTITY() ,而@@IDENTITY可能因TRIGGER而增加新的修改记录,则@@IDENTITY返回后者,SCOPE_IDENTITY()返回你直接修改的

注意1:
select top 1、select max(id) 等在有上百人同时在操作的数据库将会是不准确的~~
可能你取得的id是别人添加的记录id而不是你自己的了!

注意2:
ACCESS不支持'SCOPE_IDENTITY()
ACCESS 使用rs.addnew ........rs.update 后然后直接读取该记录的自动编号
修改insert为 rs.addnew应该不废事
而且从使用SQL语句的安全角度考虑,应该使用rs.open来操作数据库
'不然对非合法数据将可能成为使用注入复合SQL语句的漏洞

MS SQL有三个SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,最常用的就是这个SCOPE_IDENTITY()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值