Ms access &引用;在集合中找不到项";调用存储过程时
这是我的程序:Ms access &引用;在集合中找不到项";调用存储过程时,ms-access,vba,Ms Access,Vba,这是我的程序: ALTER PROCEDURE [dbo].[insert_user] @username varchar(50) AS BEGIN IF EXISTS(SELECT userid FROM users WHERE username = @username) SELECT userid FROM users WHERE username = @username ELSE
ALTER PROCEDURE [dbo].[insert_user]
@username varchar(50)
AS
BEGIN
IF EXISTS(SELECT userid FROM users WHERE username = @username)
SELECT userid FROM users WHERE username = @username
ELSE
BEGIN
INSERT INTO users (username) VALUES (@username)
SELECT userid FROM users WHERE username = @username
END
END
这是我的VBA
Public userid As Integer
Public dbconn As ADODB.Connection
Public Function Startup()
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim param As New ADODB.Parameter
Set dbconn = New ADODB.Connection
dbconn.ConnectionString = "[redacted]"
dbconn.Open dbconn.ConnectionString
Set cmd = New ADODB.Command
cmd.ActiveConnection = dbconn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "insert_user"
Set param = cmd.CreateParameter("username", adVarChar, adParamInput, 50, Environ("UserDomain") & "dddddddd\" & Environ("Username"))
cmd.Parameters.Append param
rs.CursorType = adOpenStatic
rs.CursorLocation = adUseClient
rs.LockType = adLockOptimistic
rs.Open cmd
MsgBox (rs("userid"))
End Function
每当proc添加新用户时,它都会失败,但当现有用户返回时,它可以正常工作。知道我插入时为什么不返回任何记录吗?也许这篇文章可以帮助你: 因此,实际上,它是关于在存储过程中添加一行:
...
SET NOCOUNT ON
...
也许这篇文章可以帮助你: 因此,实际上,它是关于在存储过程中添加一行:
...
SET NOCOUNT ON
...