2

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;
sujith karivelil
  • 28,671
  • 6
  • 55
  • 88
Abhijith
  • 71
  • 8

1 Answers1

0

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.

sujith karivelil
  • 28,671
  • 6
  • 55
  • 88