使用日期搜索时出错

时间:2013-12-15 11:35:01

标签: c# asp.net sql-server date

        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();

成功将日期转换为下拉列表后,我收到此错误“转换从字符串转换日期和/或时间时失败。”当我使用日期从数据库中检索数据时。

4 个答案:

答案 0 :(得分:3)

你可以尝试

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

这将为您格式化日期并删除零

答案 1 :(得分:2)

您的SELECT语句没问题,您必须修改ddl中的日期格式:

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

答案 2 :(得分:2)

在sql查询中尝试此操作。

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

附加阅读:要获得不同的日期和日期时间格式,请参阅此link

答案 3 :(得分: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);

了解更多date formating