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

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下就出现这个错误提示!不管怎么改都是如此!到底是哪里出错了?晕!
...全文
97 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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对某些数据类型比较敏感?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧