在vb中执行存储过程请教,在线急等

noaskme 2005-03-11 10:03:39
我在vb中调用存储过程的时候出错
调用函数为:
Public Function ReCalcData(ByVal STCD As Long, ByVal dteStartTime As Date, ByVal dteEndTime As Date)
Dim localCmd As New ADODB.Command

With localCmd
.CommandText = "p_ReCreate"
.CommandType = adCmdStoredProc

.Parameters.Append .CreateParameter("STCD", adInteger, adParamInput, , STCD)
.Parameters.Append .CreateParameter("begin", adDate, adParamInput, , dteStartTime)
.Parameters.Append .CreateParameter("end", adDate, adParamInput, , dteEndTime)

Set .ActiveConnection = cn
.Execute
End With

Set localCmd = Nothing
End Function

cn为有效连接,当程序执行到.Execute,系统提示:“没有执行可选择性”
百思不得其解,请各位指点,在线等候



附:存储过程为:(为有效存储过程,在查询器里试验无误)
create procedure p_ReCreate (
@STCD integer ,
@begin datetime ,
@end datetime)
as
...全文
132 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
noaskme 2005-03-11
  • 打赏
  • 举报
回复
好像没什么效果
看语法,我原来的应该也没什么问题啊,
在别的程序里都能执行的。。
郁闷。。
QQ576006 2005-03-11
  • 打赏
  • 举报
回复
你可以试着将create与append分开两个语句写,例如:
Dim prmTemp As ADODB.Parameter
With localCmd
Set prmTemp =.CreateParameter("STCD", adInteger, adParamInput,XXX)
prmTemp.append STCD
......
End With
需要注意的是,要指定参数的长度,即XXX的值
noaskme 2005-03-11
  • 打赏
  • 举报
回复
up
wumylove1234 2005-03-11
  • 打赏
  • 举报
回复
Kao
noaskme 2005-03-11
  • 打赏
  • 举报
回复
20分必须给出去才能结贴?
郁闷。。
noaskme 2005-03-11
  • 打赏
  • 举报
回复
问题已经解决,原来是addate数据类型的问题,日期用adchar传入,长度20,就ok了
谢谢大家

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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