SQL"不能為新插入的行確定標(biāo)識"錯誤的解決方法
更新時間:2008年10月17日 00:31:49 作者:
下列代碼運(yùn)行將出錯(不能為新插入的行確定標(biāo)識),即新記錄不能為自己的另一個字段賦予新生成標(biāo)識的值
這種情況在Access下可以通過,但SQL則不行,在百度搜索解決方法,發(fā)現(xiàn)N多人出現(xià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字段為標(biāo)識值(identity(1,1)) )
在SQL數(shù)據(jù)庫下,只能用以下的方法:
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才能正確獲取標(biāo)識值,且必須update()后獲取
rs.close
rs.open "select * from t1 where id=" &newID,conn,1,3
rs("data")=newID
rs.update
rs.close
conn.close
復(fù)制代碼 代碼如下:
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字段為標(biāo)識值(identity(1,1)) )
在SQL數(shù)據(jù)庫下,只能用以下的方法:
復(fù)制代碼 代碼如下:
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才能正確獲取標(biāo)識值,且必須update()后獲取
rs.close
rs.open "select * from t1 where id=" &newID,conn,1,3
rs("data")=newID
rs.update
rs.close
conn.close
相關(guān)文章
ASP中用select case代替其他語言中的switch case, default用case else
這篇文章主要介紹了ASP中用select case代替其他語言中的switch case, default用case else ,需要的朋友可以參考下2015-11-11