SQL"不能为新插入的行确定标识"错误的解决方法


这种情况在Access下可以通过,但SQL则不行,在百度搜索解决方法,发现N多人出现同样问题却找不到解决办法:

复制代码 代码如下:

set rs=server.CreateObject("adodb.recordset")
rs.open "select * from t1",conn,1,3
rs.addnew()
rs("data")="abc123"
rs.update
rs("data")=rs("id")
rs.update
rs.close
conn.close

(注:id字段为标识值(identity(1,1)) )

在SQL数据库下,只能用以下的方法:
复制代码 代码如下:

dim newID
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from t1",conn,1,3
rs.addnew()
rs("data")="abc123"
rs.update
newID=rs("id")
'这里注意,cursorType必须为1才能正确获取标识值,且必须update()后获取
rs.close
rs.open "select * from t1 where id=" &newID,conn,1,3
rs("data")=newID
rs.update
rs.close
conn.close



相关阅读:
asp.net伪静态配置备忘
了解jQuery技巧来提高你的代码
ASP.NET应用XML技术实现Web报表打印
CSS 超出隐藏实现限制字数的功能代码(多浏览器)
chr(9)、chr(10)、chr(13)、chr(32)、chr(34)讲解
PHP session常见问题集锦及解决办法总结
ASP.NET 2.0 中的数据源控件
C#教程:声明和调用扩展方法
ACCESS集锦
SQL2005的默认端口的修改方法
正确修改Linux的系统时间
GD输出汉字的函数的分析
JavaScript实现Sleep函数的代码
Windows回收站高效使用技巧
快速导航

Copyright © 2016 phpStudy |