有史以来最棘手的数据库问题。

pop133 2001-08-03 11:12:30
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下就出现这个错误提示!不管怎么改都是如此!到底是哪里出错了?晕!
...全文
60 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
songyangk 2001-08-03
把最后一个参数删除拭一下。
回复
lanren_me 2001-08-03
系统问题]。重新安装98!!
回复
lzy5042 2001-08-03
关注
回复
pop133 2001-08-03
如果是 ado版本不一样的话程序中所有的有关数据库的操作应该都不能用吧?
可是在我的程序中不止有这一处存储过程调用,其他的在win98下都可以啊?
就是这一处不行啊!晕!
回复
guest 2001-08-03
你用的是ADO的2.6吧! 装SP5吧!,就可以了 :)
回复
ltpao 2001-08-03
是不是ADO版本不一样
回复
pop133 2001-08-03
我就是要测试程序的!已经在若干台装了win98的机器下试过了,不行!
好像也不是参数的问题,如果是参数的问题的话为什么在win2000下能编译通过?
是不是win98对某些数据类型比较敏感?
回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2001-08-03 11:12
社区公告
暂无公告