Sql 如何检索刚刚插入数据库的记录的特定字段

Sql 如何检索刚刚插入数据库的记录的特定字段,sql,asp-classic,Sql,Asp Classic,我正在使用SQLServer2008 我使用.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

我正在使用SQLServer2008 我使用.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(),这个值在数据库中,我就是拿不到


我做错了什么?

选择@@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)

本文用示例代码解释获取标识值的方法。如果你需要更多的帮助,请告诉我们


这就是我最后要做的,但仍然需要另一个选择来获取guid,而不是标识列您不需要另一个选择,只需从idColumn=@@identity的表中执行
select GuidColumn即可