有史以来最棘手的数据库问题。
Dim cn As New ADODB.Connection, cmd As New ADODB.Command
Dim params As ADODB.Parameters, param As ADODB.Parameter
cn.Open Connstr$
With cmd
Set .ActiveConnection = cn
.CommandText = "Proc_Refresh"
.CommandType = adCmdStoredProc
Set params = .Parameters
End With
params.Append cmd.CreateParameter("@RETURN_VALUE", adInteger, adParamReturnValue, 0)
params.Append cmd.CreateParameter("@Proceadd", adBigInt, adParamInput, 0)
params.Append cmd.CreateParameter("@procedel", adBigInt, adParamInput, 0)
params.Append cmd.CreateParameter("@Procesdel", adBigInt, adParamInputOutput, 0, Null)
params.Append cmd.CreateParameter("@Procesadd", adBigInt, adParamInputOutput, 0, Null)
params.Append cmd.CreateParameter("@Refresh", adInteger, adParamInputOutput, 0, Null)
params("@Proceadd") = Proceadd&: params("@Procedel") = Procedel&
cmd.Execute , , adExecuteNoRecords
以上调用sql存储过程的语句,在win2000下编译通过,可以执行。但是在win98下编译到
cmd.Execute , , adExecuteNoRecords一句时却会出现
实时错误'-2147217887(80040e21)'
[microsoft][ODBC SQL Server Driver]没有执行可选特征
的错误提示。 我看了存储过程,本身并没有一点儿错误,在sql2000下也可以执行,在win2000下用以上的语句调用也可以执行成功!但是在win98下就出现这个错误提示!不管怎么改都是如此!到底是哪里出错了?晕!