将日期时间格式从sql转换为Date并绑定到仅Gridview日期

时间:2016-09-15 12:58:13

标签: c# sql asp.net sql-server-2008 gridview

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

4 个答案:

答案 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();
}