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

本文关键字:参数 两个 存储过程 何使用 适配器 填充 Server SQL | 更新日期: 2023-09-27 17:53:09

我有一个包含两个参数的存储过程——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。

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

听起来好像"参数3"应该是一个可空的DateTime。将endDate的声明更改为:

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

这篇文章很好地理解了可空类型@wablab正确地提到了您需要将datetime变量声明为可空datetime