网络编程
位置:首页>> 网络编程>> Asp编程>> ASP关于SQL插入数据后获得当前ID

ASP关于SQL插入数据后获得当前ID

 来源:经典论坛 发布时间:2010-01-24 19:55:00 

标签:sql,id,SCOPE_IDENTITY()

找到一句可以获得当前最新ID的语句,如下:

conn.execute("insert into member (user,code) values ('"&request.form("user")&"','"&request.form("code")&"')")
set rs=conn.execute("Select SCOPE_IDENTITY()")
newsid=rs(0)
rs.close

试过,确实能获得最新ID,但是看了SCOPE_IDENTITY()相关介绍后还是有点不明白,语句中为什么写“newsid=rs(0)”,其中的rs(0)是什么意思?我更换成“newsid=rs(1)”、“newsid=rs”都是什么都没有。如果我想要获取的不是ID而是别的列又要怎样呢?

SCOPE_IDENTITY()

SCOPE_IDENTITY()获取的是最后一个字段的id
select scope_identity()
rs(0) 是索引
一般的sql "select id,name from table"
rs(0)=rs("id")
rs(1)=rs("name")   rs(0)是第一个字段的值,Select SCOPE_IDENTITY()
所以没有rs(1)...

简单的说,SCOPE_IDENTITY()这个类型是自增类型,所以只对整型类的数据有效。
再回过头来看你的方法:scope_identity,获取这种自增字段,那肯定就不可能把非自增类型的数据给索取出来了。
如果你还想把各个字段的值取出来,除了乖乖的检索表之外无其他办法。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com