我的程序中有 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/