2016-09-03 2 views
0

Meine Datagridview zeigt das Datum mit dem Jahr 2015 an, auch wenn ich meine zwei Datetime Picker von zwei verschiedenen Daten, aber mit dem gleichen Jahr (2016) gesetzt habe.Fortsetzung über das Datum zwischen zwei Daten

Heres mein Code ..

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

Haben Sie überprüft, ob die Datetime-Werte korrekt in die Methode übernommen wurden? – rbr94

+0

Wenn Sie Zahlen und Daten als Zeichenfolge speichern, werden sie nicht wie Zahlen und Daten handeln. – Plutonix

+0

jawohl .. das hat die selbe Methode, wenn ich Händler-, Unterhändler- und Händlerradioknöpfe anklicke und es gut funktioniert. Aber wenn ich den Radioknopf All auswähle, wird es das Jahr 2015 beinhalten. –

Antwort

1

Wenn der Tabellenspalte varchar ist, dann schlage ich Sie es bisher konvertieren die Suche entsprechend zu tun, wie folgt:

SELECT * FROM Table WHERE 
CONVERT(DATE, FromDate) >= CONVERT(DATE, '2016-09-03') 
AND CONVERT(DATE, ToDate) <= CONVERT(DATE, '2016-09-13') 
Verwandte Themen