数据库里的汇总日期是2008-07-20,但是输出之后在textBox19.Text显示的却是2008-07-20 00:00:00,请问怎么让它不显示后面的时分秒???
        private void comboBodw_TextChanged(object sender, EventArgs e)
        {
            string sql1 = "select * from danweihuizong where 汇总日期='" + dateTimePicker1.Value.ToString("yyyy-MM-dd") + "'and 单位='" + comboBodw.Text + "'";
            SqlCommand cmd1 = new SqlCommand(sql1, conn);
            conn.Open();
            SqlDataReader dr1 = cmd1.ExecuteReader();
            while (dr1.Read())
            {
                textBox19.Text = dr1["汇总日期"].ToString();
            }
            dr1.Close();
            conn.Close();
        }

解决方案 »

  1.   

    textBox19.Text = dr1["汇总日期"].ToString();
    改为
    textBox19.Text = dr1["汇总日期"].ToShortDateString();
      

  2.   


    dr1是DataReader
    应该是dr1.GetDateTime("汇总日期").ToShortDateString();
      

  3.   

    2楼的运行结果错误 CS1503: 参数“1”: 无法从“string”转换为“int”
    错误 CS1502: 与“System.Data.Common.DbDataReader.GetDateTime(int)”最匹配的重载方法具有一些无效参数
      

  4.   


    直接在回复里写的代码,手误呵
    dr1.GetDateTime(dr1.GetOriginal("汇总日期")).ToShortDateString();
    Convert.ToDateTime(dr1["汇总日期"]).ToShortDateString();都可以
      

  5.   

    Convert.ToDateTime(dr1["汇总日期"]).ToShortDateString();你写把你的数据装换成时间格式,然后再装换成断时间格式就行了。
      

  6.   

    真接截字符串:
    textBox19.Text = dr1["汇总日期"].ToString().Substring(0,"2008-07-20".length);