SQL 存储过程和数据集

Posted

技术标签:

【中文标题】SQL 存储过程和数据集【英文标题】:SQL Stored Proc and Dataset 【发布时间】:2009-11-12 20:54:52 【问题描述】:

我有一个在 SSMS 中运行良好的 sql 存储过程。当我尝试通过代码执行并将返回分配给数据集时,我得到了零行。我已经使用即时窗口来确保我将正确的参数发送到存储的过程,这一切都很好。

还有什么会导致我将零行分配给数据集。这是我的代码。

谢谢, 迈克

编辑:我没有从 SQL 中得到任何异常..

Public Function GetTransReporting(ByVal transNumber As Long, ByVal customerID As Long) As DataCommon.transReporting

Dim myTransReporting As New transReporting

    Dim da As SqlDataAdapter
    Dim prm1 As SqlParameter
    Dim prm2 As SqlParameter
    mcmd = New SqlCommand
    mcmd.CommandType = CommandType.StoredProcedure
    mcmd.Connection = mcn
    mcmd.CommandText = "GetTransReportingByCustomerID"

    prm1 = New SqlParameter("@transNumber", Data.SqlDbType.BigInt)
    prm1.Value = customerID
    mcmd.Parameters.Add(prm1)

    prm2 = New SqlParameter("@customerNumber", Data.SqlDbType.BigInt)
    prm2.Value = transNumber
    mcmd.Parameters.Add(prm2)

    da = New SqlDataAdapter(mcmd)
    da.Fill(myTransReporting)

Return myTransReporting

结束函数

【问题讨论】:

这个存储过程是做什么的?有什么异常吗? 【参考方案1】:

知道了.. 如果您在上面查看我的参数,我会不小心将交易分配给客户,将客户分配给交易。哦!

谢谢, 迈克

【讨论】:

【参考方案2】:

您的存储过程是否以 SET NOCOUNT ON 开头?如果存储过程在最终 SELECT 之前处理多个查询,则缺少此功能有时会导致问题。

【讨论】:

以上是关于SQL 存储过程和数据集的主要内容,如果未能解决你的问题,请参考以下文章

SQL 存储过程

SQL Server存储过程同时返回分页结果集和总数

关于存储过程

finereport报表,使用带参数的sql存储过程,报没有返回数据集的错

SQL SERVER里面如何在存储过程里面获取另一个存储过程所返回的表的数据?

SQL SERVER里面如何在存储过程里面获取另一个存储过程所返回的表的数据?