如何使用表适配器使用两个参数填充SQL Server存储过程

时间:2016-06-30 01:07:26

标签: c# sql-server tableadapter

我有一个包含两个参数的存储过程 - beginDateendDate。我创建了一个表适配器,看起来它需要两个参数,因为在设计器屏幕上它显示@beginDate@endDate

当我去填写它时:

DateTime beginDate = new DateTime(2016, 5, 1);
DateTime endDate = new DateTime(2016, 5, 31);

this.getDailySalesTableAdapter.Fill(myDataSet.getDailySales, beginDate, endDate);

我收到一个错误,即参数3必须通过' ref'关键词。当我添加ref关键字时,我得到参数3无法从ref System.DateTime转换为System.DateTime?的错误我正在使用SQL Server。

2 个答案:

答案 0 :(得分:1)

听起来像#34;参数3"预计是一个可以为空的DateTime。将您的endDate声明更改为:

DateTime? endDate = new DateTime(2016, 5, 31);

答案 1 :(得分:1)

This是一篇很好的文章来理解可空类型,是的@wablab正确地提到你需要将datetime变量声明为可以为空的日期时间