2011-08-03 57 views
3
记录的特定字段

我使用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()和价值是在那里我没有得到它

我做错了什么?

回答

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) 
+0

这就是我结束了做什么,但仍然需要有另一个选择用于获取GUID,而不是标识列 –

+0

你不需要再选择,只需做'SELECT GuidColumn FROM Table WHERE idColumn = @@ IDENTITY' –

0

本文介绍了获取身份值和示例代码的手段。如果您需要在这之后更多的帮助,让我们知道

相关问题