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