SQL Server存储过程似乎没有被调用

时间:2017-09-11 00:06:46

标签: sql-server stored-procedures

我在MS Access中的代码语法似乎是正确的。

我可以在SQL中手动运行存储过程并获得正确的结果。

当我尝试使用ADO从MS Access调用存储过程时,似乎没有任何事情发生;任何帮助将不胜感激。

Private Sub Combo13_LostFocus()

Dim P1 As Integer

P1 = Forms![Frm_Ws10a]![Frm_WS10b]![Combo13].Column(0)

Dim rs As ADODB.Recordset
Dim CN As ADODB.Connection
Dim cmd As ADODB.Command
Dim prm As ADODB.Parameter

Dim adstring As Variant

Set CN = New ADODB.Connection

CN.ConnectionString = "Driver=SQL 
Server;Server=LDXFBHD013492   \SQLEXPRESS;Database=xxxx;Trusted_Connection=YES;"
CN.Open

Set cmd = New ADODB.Command
With cmd
    .ActiveConnection = CN
    .CommandText = "dbo.usp_update_consequenceweighting"
    .CommandType = adCmdStoredProc
    .Parameters.Refresh
    Set prm = .CreateParameter("@ITID", adInteger, adParamInput)
   prm.Value = P1

End With

Set rs = cmd.Execute

Me.Recalc
Me.Refresh

提前致谢

1 个答案:

答案 0 :(得分:0)

您在下面的代码中缺少.parameters.append

With cmd
.ActiveConnection = CN
.CommandText = "dbo.usp_update_consequenceweighting"
.CommandType = adCmdStoredProc
.Parameters.Refresh
Set prm = .CreateParameter("@ITID", adInteger, adParamInput)

尝试添加parameter.append而不是设置

With cmd
.ActiveConnection = CN
.CommandText = "dbo.usp_update_consequenceweighting"
.CommandType = adCmdStoredProc
.parameter.append .createparameter("@ITID", adInteger, adParamInput, 50, [Value or variable here])
.execute 1
End With
相关问题