2016-04-04 20 views
0

Aşağıdaki datatable, SQL sorgumdan beklenen sonuç Tarih olmasına rağmen, datetime neden içerir?Uygulama sonucu, SQL sorgusunun yalnızca geri dönmek zorunda olmasına rağmen datetime'dır.

public static DataTable CheckCalcDateToSend(int month, int year, int camp) 
{ 
    DataTable dt = new DataTable(); 

    using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ss"].ToString())) 
    { 
     StringBuilder Query = new StringBuilder(); 
     Query.Append(" SELECT CONVERT(date, to_date) AS to_date FROM CalcAttend "); 
     Query.Append(" WHERE month = @month AND year = @year"); 
     Query.Append(" AND camp = @camp AND emp_num = 0 ORDER BY calc_date"); 


     using (SqlCommand cmd = new SqlCommand(Query.ToString(), con)) 
     { 
      cmd.CommandType = CommandType.Text; 
      cmd.Parameters.AddWithValue("@month", SqlDbType.Int).Value = month; 
      cmd.Parameters.AddWithValue("@year", SqlDbType.Int).Value = year; 
      cmd.Parameters.AddWithValue("@camp", SqlDbType.Int).Value = camp; 
      con.Open(); 
      using (var dataReader = cmd.ExecuteReader()) 
      { 
       dt.Load(dataReader); 
      } 
     } 

    } 
    return dt; 
} 
+0

Tarihlerini bakın halen bir zaman değerine sahip ama zaman her zaman tam olarak gece yarısıdır. –

+0

@SeanLange: o zaman sadece bir tarih vermek için ne yapmalıyım? Dropdownlist kaynağım sadece –

+0

tarihlerinin listesi olmak zorunda değil. –

cevap

1

.Net'de "Tarih" türü mevcut değil. Varsayılan "DateTime" türüdür. "DateTime" değişkenindeki "Tarih" özelliği, tarih bileşenini verecektir. Alternatif olarak, açılır liste bağlama için DataTextFormatString'i kullanmayı deneyebilirsiniz.

sql sunucusunda Bu postayı Date in dropdownlist

İlgili konular