c# - 从 datetimepicker 获取起始日期和截止日期之间的值

标签 c# windows winforms visual-studio

我的程序中有 2 个日期时间选择器。一种是指定 from,另一种是指定 to。我正在尝试获取 from 和 to 之间的值。我将 2 个 datetimepicker 的值传递给查询之间,但我只获取月份日期之间的值。如果我从一个月的日期选择并从另一个日期选择到则不会显示数据。

SqlDataAdapter da3 = new SqlDataAdapter("SELECT Name from Billing WHERE Bill_Date Between @From AND @To", con);
da3.SelectCommand.Parameters.AddWithValue("@From", dateTimePicker_FromSaleReport.Text);
da3.SelectCommand.Parameters.AddWithValue("@To", dateTimePicker_ToSaleReport.Text);
dataTable dt3 = new DataTable();
da.Fill(dt);
dgv_FromToSaleReport.DataSource = dt3;

最佳答案

您必须传递 DateTime 对象而不是 Text,因此首先您必须从 DatePicker 获取 DateTime 值,然后继续:

DateTime fromDate, toDate;

DateTime.TryParse(dateTimePicker_FromSaleReport.Text, out fromDate);
DateTime.TryParse(dateTimePicker_ToSaleReport.Text, out toDate);

// use DateTime.TryparseExtract if you know the format of input date

SqlDataAdapter filterAdapter = new SqlDataAdapter("SELECT Name from Billing WHERE Bill_Date Between @From AND @To", con);
filterAdapter.SelectCommand.Parameters.Add("@From",SqlDbType.DateTime).value = fromDate;
filterAdapter.SelectCommand.Parameters.Add("@To", SqlDbType.DateTime).value = toDate;

DataTable filteredTable = new DataTable();
filterAdapter.Fill(filteredTable);
dgv_FromToSaleReport.DataSource = filteredTable ;

注意:请确定数据库中列的类型,它应该是 DateTime 以便执行比较。

关于c# - 从 datetimepicker 获取起始日期和截止日期之间的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41436808/

相关文章:

c# - 如何更改继承项在继承用户控件中的位置

c# - 如何在 Windows 窗体应用程序中使用 C#.NET 正确实现 MVC

c# - 在棋盘上随机放置 20 颗棋子的最佳方法是什么?

c# - UPDATE 查询未更新 Access 数据库中的记录

c# - 用脚本语言解析 C#

windows - 拖放 'n' 对我的 sublime text 2 安装不起作用

windows - Web.config 重定向到另一个没有尾部斜杠的 URL

vb.net - 使用子例程和函数进行错误处理的正确方法是什么?

c# - WCF:拦截客户端消息发送/接收进度

java - 使用 Windows session 凭据作为登录?它是如何工作的??