【发布时间】:2017-06-03 00:21:00
【问题描述】:
我有一个包含 datetimepicker 的 winform 应用程序。当我选择一个日期时,它会提供该日期的销售详细信息。我也添加了代码来形成加载事件,但我得到一个 SqlDateTime 溢出错误。必须在 1753 年 1 月 1 日凌晨 12:00:00 到 9999 年 12 月 31 日晚上 11:59:59 之间。
我的代码是
DateTime fromDate, toDate;
DateTime.TryParse(dateTimePicker_FromByDateSaleReport.Text, out fromDate);
DateTime.TryParse(dateTimePicker_ToByDateSaleReport.Text, out toDate);
SqlDataAdapter da3 = new SqlDataAdapter("SELECT Bill_Date,Name,Item,Item_Code,MRP, Quantity,Amount as Total, Amount_After_Discount as Grand_Total From POS LEFT JOIN Customers ON POS.Customer=Customers.Customer_Id WHERE Bill_Date Between @From AND @To", con);
da3.SelectCommand.Parameters.AddWithValue("@From", SqlDbType.DateTime).Value = fromDate;
da3.SelectCommand.Parameters.AddWithValue("@To", SqlDbType.DateTime).Value = toDate;
DataTable dt3 = new DataTable();
da3.Fill(dt);
dgv_ByDateSaleReport.DataSource = dt3;
}
.
【问题讨论】:
-
您可能在日期参数中传递了 null
-
你输出 dateTimePicker_FromByDateSaleReport.Text 了吗?它说什么?它包含哪种日期格式?
-
您不需要从选择器中解析出值 - 您可以使用 Value 属性检索它。不要认为这是问题所在,但它可能会有所帮助。
-
日期时间不能为空@husnain_sys
-
为什么这个问题被赞成?如果提问者只调试过一次,这个问题很容易解决。代码格式不正确。我们只能猜测是哪个日期导致了溢出。这与 Visual Studio 无关。那么为什么会被赞呢?此问题质量低下。
标签: c# sql-server winforms visual-studio