using (con = new SqlConnection(con_str))
{
con.Open();
string sql = "select mcfact as Factory, mcarea as Department, mcloc as Location, mcroom as Room, mcline as Line, cast (scanned as date) from tb_MachineRecord where mcidno='" + cmbmcidno.Text + "' ";
da = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
da.Fill(ds);
GridView7.DataSource = ds;
GridView7.DataBind();
con.Close();
}
使用此代码时,输出的时间与03/05/2016 00:00:00
类似,但当我在SQL中运行此查询时,它会显示正确的输出,如2016-05-03
答案 0 :(得分:2)
您可以使用数据表的dt对象代替ds 例如:
using (con = new SqlConnection(con_str))
{
con.Open();
string sql = "select mcfact as Factory, mcarea as Department, mcloc as Location, mcroom as Room, mcline as Line, cast (scanned as date) as date from tb_MachineRecord where mcidno='" + cmbmcidno.Text + "' ";
da = new SqlDataAdapter(sql, con);
Datatable dt=new datatable();
da.Fill(dt);
foreach(DataRow rows in dt.rows.Count)
{
rows["date"]=Convert.ToDateTime(rows["date"].toString()).toString("dd/MM/yyyy"));
}
GridView7.DataSource = dt;
GridView7.DataBind();
con.Close();
}
答案 1 :(得分:0)
如果您使用BoundFields
,则可以执行此操作
<asp:BoundField DataField="myDBdate" DataFormatString="{0:f}" />
有关更多BoundField DateTime格式,请参阅Microsoft Site。
如果您使用TemplateFields
,则可以执行此操作:
<ItemTemplate><%# Convert.ToDateTime(Eval("myDBdate")).ToShortDateString() %></ItemTemplate>
有关更多日期时间格式
,请参阅Microsoft Site答案 2 :(得分:0)
我认为你应该使用
select name,CONVERT(VARCHAR(10),date_of_birth,120) from tbl_Login
date_of_birth 是日期时间类型列
答案 3 :(得分:0)
using (con = new SqlConnection(con_str))
{
con.Open();
string sql = "select mcfact as Factory, mcarea as Department, mcloc as Location, mcroom as Room, mcline as Line, CONVERT(VARCHAR(10),scanned,120) from tb_MachineRecord where mcidno='" + cmbmcidno.Text + "' ";
da = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
da.Fill(ds);
GridView7.DataSource = ds;
GridView7.DataBind();
con.Close();
}