2016-09-03 4 views
0

В моем datagridview отображается дата с 2015 годом, даже если я установил два моих datetimepickers из двух разных дат, но с тем же годом (2016).Продолжение о получении даты между двумя датами

Heres мой код ..

public static List<Retailer> GetDataAllRetailer(DateTime past, DateTime present) 
     { 
     List<Retailer> data = new List<Retailer>(); 

     MySqlConnection con = DBConnection.ConnectDatabase(); 
     try 
     { // AND 
      MySqlCommand cmd = new MySqlCommand("SELECT * FROM " + tablename + " WHERE (date BETWEEN '" + past.ToString("MM-dd-yyyy") + "' AND '" + present.ToString("MM-dd-yyyy") + "') ", con); 

      MySqlDataReader reader = cmd.ExecuteReader(); 

      if (reader.HasRows) 
      { 
       while (reader.Read()) 
       { 
        Retailer rawData = new Retailer(); 
        rawData.Date = reader.GetString(1); 
        rawData.Walletid = reader.GetString(0); 
        rawData.Fname = reader.GetString(2); 
        rawData.Lname = reader.GetString(3); 
        rawData.Birthdate = reader.GetString(4); 
        rawData.Address = reader.GetString(5); 
        rawData.Province = reader.GetString(6); 
        rawData.City = reader.GetString(7); 
        rawData.Balance = reader.GetDouble(8); 
        rawData.Frozen = reader.GetDouble(9); 
        rawData.Sponsor_id = reader.GetString(10); 
        rawData.Share = reader.GetDecimal(11); 
        rawData.Email = reader.GetString(12); 
        rawData.Password = reader.GetString(13); 
        rawData.Type = reader.GetInt32(14); 
        data.Add(rawData); 


       } 
      } 



      reader.Close(); 

     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
     finally 
     { 
      con.Close(); 
     } 

     return data; 
    } 

} 

datagrid

+0

Вы проверили правильность передачи значений даты и времени методу? – rbr94

+0

Если вы храните цифры и даты в виде строки, они не будут действовать как цифры и даты – Plutonix

+0

да, сэр .. у этого метода есть тот же метод, если я нажимаю переключатели розничного торговца, субдилера и дилера и его рабочий штраф. Но когда я выберу переключатель «Все», он будет включать в себя год 2015 –

ответ

1

Если столбец таблицы VARCHAR, то я предлагаю вам, чтобы преобразовать его в актуальном состоянии, чтобы сделать поиск соответственно следующим образом:

SELECT * FROM Table WHERE 
CONVERT(DATE, FromDate) >= CONVERT(DATE, '2016-09-03') 
AND CONVERT(DATE, ToDate) <= CONVERT(DATE, '2016-09-13') 
Смежные вопросы