下列程式碼執行將出錯(不能為新插入的行確定標識),即新記錄不能為自己的另一個字段賦予新生成標識的值這種情況在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