在下拉列表中显示不同的datetime列

时间:2013-06-17 18:13:24

标签: c# asp.net mysql datetime drop-down-menu

在我的C#应用​​程序中,我正在创建一个下拉列表,它将显示我的sql数据库的不同日期时间列。

当我写查询时:

Select distinct DateTimeColumn from tablename1

我以下列格式获取不同日期时间列表:2013-03-31 09:04:00.955

但是当我尝试使用代码在我的下拉列表中显示相同的细节时:

SqlDataAdapter cmd = new SqlDataAdapter("SELECT * FROM tablename1 order by DateTimeColumn desc", sqlconn);
            DataSet ds0 = new DataSet();
            cmd0.Fill(ds0);
            DataView source0 = new DataView(ds0.Tables[0]);
            DataTable dt0 = new DataTable();
            cmd0.Fill(dt0);
            Cache["data"] = ds0;

            DataSet dataset_new1 = new DataSet();
            dataset_new1 = (DataSet)Cache["data"];
            DataView dataview_new1 = dataset_new1.Tables[0].DefaultView;

            DataTable datatable_new1 = dataview_new1.ToTable(true, "DateTimeColumn");
            DropDownList1.DataSource = datatable_new1;
            DropDownList1.DataTextField = "DateTimeColumn";
            DropDownList1.DataValueField = "DateTimeColumn";
            DropDownList1.DataBind();

我的日期时间格式为:3/31/2013 09:04:00 AM

我不知道为什么我的格式会发生变化!请帮忙!!谢谢。

2 个答案:

答案 0 :(得分:0)

这可能是因为您在另一个工具中运行查询,该工具以您期望的方式格式化文本。在应用程序中运行它时,它默认使用数据区域设置(除非另有说明)

如果您将select声明更改为:

,您将获得所需的结果
select distinct DATE_FORMAT(DateTimeColumn,'%Y-%m-%d %H:%i:%S.%f') 
from tablename1

答案 1 :(得分:0)

您可以使用DataTextFormatString属性并使用Custom format string

我没有测试过,但它应该是这样或类似的

DropDownList1.DataTextFormatString = "MMMM dd, yyyy";
相关问题