如果从VBA执行,存储过程不返回数据

时间:2010-01-13 05:29:19

标签: vba stored-procedures sybase recordset

我在Sybase db中存储过程MySPOld。我创建了新的sp MySP。这个新的sp在从Sybase Sql Advantage执行时返回数据。但是从VBA调用时不返回数据 - Excel 2003(记录集的EOF属性为True)。这是我的代码..

Dim dbCon As ADODB.Connection
Dim rstTemp As New ADODB.Recordset
Dim query As String
query = "exec MySP '01/01/2010', '01/14/2010'"
dbCon.Open connectionString, "username" "password"
dbCon.CommandTimeout = 300
rstTemp.Open query, dbCon, adOpenForwardOnly

代码与旧sp一起运行良好。 可能是什么问题呢 ?任何想法?

先谢谢。

1 个答案:

答案 0 :(得分:3)

假设它从isql或sql优势中运行正常!

您是否在新程序中的任何位置与null进行比较?我之前发现,当通过VBA或vbScript进行调用时,从ifql等调用时,“if @var = null”等语句的行为会有所不同。如果您有这样的东西,只需将其更改为“如果@var为空”并且它将起作用。