在我的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
我不知道为什么我的格式会发生变化!请帮忙!!谢谢。
答案 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";