如何检索刚刚插入到DB的记录的特定字段

时间:2011-08-03 15:36:39

标签: sql asp-classic

我正在使用sql server 2008 我使用.Addnew

插入数据

我有这样的代码

strSQL = "SELECT * FROM table"
rs.CursorType = 2
rs.LockType = 3
rs.Open strSQL, adoCon
rs.AddNew
rs.fields("pid") = pid
rs.fields("name") = name
rs.update
rs.requery
response.write rs.fields("GUID")
rs.close

我没有收到错误 - 我没有打印

我在经典的asp中做,没有存储过程,没什么特别的 guid列不是关键!它有一个默认值newid(),而值在db中我就是无法得到它

我做错了什么?

2 个答案:

答案 0 :(得分:1)

SELECT @@IDENTITY添加到SQL语句以检索最后插入的标识:

Dim rs , cmd
Set rs = server.createobject("ADODB.Recordset")
Set cmd = server.createobject("ADODB.Command")

cmd.ActiveConnection = GetConnectionString()
cmd.CommandType = adCmdText
cmd.CommandText = "INSERT into Table (pid, name) values (1, 'the name') SELECT @@IDENTITY"


rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenForwardOnly, adLockReadOnly

response.write "Last GUID: " + rs(0)

答案 1 :(得分:0)

本文解释了使用示例代码获取标识值的方法。如果您在此之后需要更多帮助,请告知我们

http://databases.aspfaq.com/general/how-do-i-get-the-identity/autonumber-value-for-the-row-i-inserted.html