【发布时间】:2014-11-14 19:16:50
【问题描述】:
alter procedure [dbo].[XXX]
(
@vendorworksationID uniqueidentifier ,
@sdate date,
@edate date,
@total int out
)
begin
select @total = COUNT(*)
from AdvertisedCampaignHistory a
where
CAST(a.CreationDate AS DATE) BETWEEN CAST(@sdate as DATE) AND CAST(@edate as DATE)
and a.CampaignID in (select cc.BCampaignID
from BeaconCampaign cc, VendorWorkStation vw
where cc.VendorWorkStationID = vw.VendorWorkStationID
and VendorID = @vendorworksationID)
return @total
end
上面的代码显示了从 SQL Server 返回整数值的存储过程
ObjectParameter Output = new ObjectParameter("total", typeof(Int32));
var resBC = this.Context.getTotalSentBeaconCampaign(VendorWorkstationID, sdate,edate,Output).FirstOrDefault();
上面的代码显示了我如何在 C# 端传递参数和检索值
运行代码时出现以下错误
存储数据提供者返回的数据读取器没有 为所请求的查询提供了足够的列。
此错误的可能原因是什么?
【问题讨论】: