ASP+MSSQL获取最新最后添加数据信息的ID记录值
2009-03-18 11:17
686 查看
用法:
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()
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()
相关文章推荐
- 在MSSQL中添加记录后获取当前记录ID的方法
- 20110215 学习记录:ASP获取新添加数据的ID号 SELECT @@IDENTITY
- 对多表进行添加数据(获取最后一条插入的数据的ID)
- ThinkPHP写数组插入与获取最新插入数据ID实例
- mybatis实现新添加一条数据,并获取新添加数据的ID
- Yii2-保存数据库,获取最后添加的id
- Entity Framework添加记录时获取自增ID值
- PHP如何获取最后插入数据的auto_id
- Java获取最后插入MySQL记录的自增ID值的3种方法
- 根据ajax从服务器获取数据的时间和ID,根据最近的时间,显示一个记录重复ID的数字
- 002--第一次成功删除之后,后续的删除会脏数据读取到第一次的记录信息id
- SQLite 数据库获取添加记录后自增长的ID
- php 获取最后插入数据的id
- MSSQL 返回指定表的最新一条记录的ID
- Linq To EF 使用小知识(添加记录后获取添加的自增ID和叫“ID”的列不是自增列不让插入的问题)
- Java获取最后插入MySQL记录的自增ID值的3种方法
- ThinkPHP 使用group,获取最新的id或者数据
- mysql插入数据,获取最新插入的ID(自增列)
- Entity Framework添加记录时获取自增ID值
- oracle 在一张日志表中,同一个ID 有多条记录,每个ID只获取最新时间的记录