急!!为什么这个存储过程不能调用?
我的存储过程有两个日期参数 在vb中如下调用
Dim adoCn As New ADODB.Connection
Dim adoCmd As New ADODB.Command
Dim adoRs As New ADODB.Recordset
Dim prm1 As New ADODB.Parameter '==参数1
Dim prm2 As New ADODB.Parameter '==参数2
If adoCn.State = adStateClosed Then
adoCn.Open gstrCon
End If
' 为存储过程定义命令对象。
adoRs.CursorLocation = adUseClient
adoCmd.CommandText = "sp_make_data"
adoCmd.CommandType = adCmdStoredProc
' 定义存储过程的输入参数。
Set prm1 = adoCmd.CreateParameter("startdate", adDBDate, adParamInput, 8, dtpStart.Value)
adoCmd.Parameters.Append prm1
Set prm2 = adoCmd.CreateParameter("enddate", adDBDate, adParamInput, 8, dtpEnd.Value)
adoCmd.Parameters.Append prm2
Set adoCmd.ActiveConnection = adoCn
adoRs.CursorLocation = adUseClient
Set adoRs = adoCmd.Execute() ’====这一句出问题
运行,提示说我没有执行可选特性??
问题点数:60、回复次数:5Top
1 楼junwhj(http://www.grid2000.com/cn)回复于 2002-06-15 16:24:12 得分 30
用Command对象来执行存储过程太麻烦了,试试:
Set adoRs=adocn.Execute("sp_make_data '" & dtpStart.Value & "','" & dtpEnd.Value & "'")
Top
2 楼Yang_(扬帆破浪)回复于 2002-06-15 16:33:06 得分 25
adDBDate改成adDBTimeStamp
Top
3 楼luckysusan(海闊天空)回复于 2002-06-15 16:52:34 得分 5
試一試這麼寫!
GCommand.ActiveConnection = GConnection
With GCommand
.CommandType = adCmdStoredProc
.CommandText = StoredName
.Parameters(1).Direction = adParamOutput 傳出參數
.Parameters(2).Direction = adParamOutput
.Parameters(3).Value = Action 傳入參數
.Parameters(4).Value = Startdate
.Parameters(5).Value = Enddate
End With
Set Rec = GCommand.Execute Rec 為記錄集
Errnum = GCommand.Parameters(1).Value 獲得傳出參數
Errmsg = GCommand.Parameters(2).ValueTop
4 楼eken(VbNet.ing)回复于 2002-06-17 10:21:38 得分 0
2,3楼方法ok,4楼的我觉得你理解有的不太清楚了,不过还是谢谢~Top
5 楼eken(VbNet.ing)回复于 2002-06-17 16:30:46 得分 0
糟糕,仍然出现问题,提示expression转换成int的时候出错,救救~Top




