2013-12-15 36 views
2
 cmdDateReceivingStock = new SqlCommand("Select Distinct Date FROM 
     OrderDetails WHERE item_Received ='No'", conStock); 

     SqlDataAdapter da = new SqlDataAdapter(cmdDateReceivingStock); 
     DataSet ds = new DataSet(); 
     da.Fill(ds); 

     ddlOrderDate.DataTextFormatString = "{0:dd-MM-yyyy}"; 
     ddlOrderDate.DataSource = ds; 
     ddlOrderDate.DataTextField = "Date"; 
     ddlOrderDate.DataBind(); 

成功後將日期轉換爲下拉列表,但出現此錯誤「轉換日期和/或時間從字符串轉換失敗。」當我使用日期從數據庫檢索數據。使用日期進行搜索時遇到錯誤

+0

gridview上有一個格式字段來設置你的格式,另一種方法是當你做選擇時設置它。 – Aristos

回答

2

你的SELECT語句是好的,你要修改日期格式在您的DDL:

ddlOrderDate.DataTextFormatString = "{0:dd-MM-yyyy}"; 
+1

非常感謝。完美的工作 – Michael

3

您可以嘗試

ddlOrderDate.DataTextFormatString = "{yyyy-MM-dd}";

這將格式化日期爲您和刪除零

2

在你的sql查詢中試試這個。

cmdDateReceivingStock = new SqlCommand("Select Distinct CONVERT(VARCHAR,Date,103) FROM 
     OrderDetails WHERE item_Received ='No'", conStock); 

補充閱讀:要獲得不同的日期和日期時間格式參考本link

+0

謝謝,這也是工作。 – Michael

+0

用於查詢中更改格式的+1! –

1

試試這個方法在sql查詢

SELECT CONVERT(char(10), GetDate(),126) 

使用DATE_FORMAT()

更改查詢
cmdDateReceivingStock = new SqlCommand("Select Distinct DATE_FORMAT(Date , '%d/%m/%Y') FROM 
     OrderDetails WHERE item_Received ='No'", conStock); 

for mo re date formating

+0

SELECT CONVERT(char(10),GetDate(),126)這也需要放在 – Michael

+0

你可以發佈你的當前選擇查詢。請通過我的查詢而不是您的查詢並刪除ddlOrderDate.DataTextFormatString –

相關問題