从日期时间选择器获取日期和日期之间的值 [英] Getting values between from and to date from datetimepicker

查看:39
本文介绍了从日期时间选择器获取日期和日期之间的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的程序中有 2 个日期时间选择器.一种是指定从,另一种是指定到.我试图在 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);数据表 dt3 = 新数据表();da.Fill(dt);dgv_FromToSaleReport.DataSource = dt3;

解决方案

你必须为 Text 传递 DateTime 对象,所以首先你必须从 DatePicker 获取 DateTime 值,然后继续:

>

DateTime fromDate, toDate;DateTime.TryParse(dateTimePicker_FromSaleReport.Text, out fromDate);DateTime.TryParse(dateTimePicker_ToSaleReport.Text, out toDate);//如果您知道输入日期的格式,请使用 DateTime.TryparseExtractSqlDataAdapter 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;数据表filteredTable = new DataTable();filterAdapter.Fill(filteredTable);dgv_FromToSaleReport.DataSource = 过滤表;

注意:请确定数据库中的列类型,应该是DateTime才能进行比较.

I have 2 datetimepickers in my program. One is to specify from and other is to specify to. Iam trying to get values between from and to. I passed values of 2 datetimepicker to between query but iam getting only values between a months date. if i select from date of a month and select to from another date is wont display datas.

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;

解决方案

You have to pass the DateTime object instead for Text, so first of all you have to get DateTime value from the DatePicker, and then proceed with that:

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 ;

Note : please be sure about the type of column in the database, It should be DateTime in order to performs the comparison.

这篇关于从日期时间选择器获取日期和日期之间的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆