string insert = "insert into tab_in (bjdate) values('" + txtBjdate.Text.Trim() + "')";请问怎样才能写入的时候只写入日期不要时间?
时间的文本框我加入了ajax的calendar,直接选择日期就可以了。但是现在数据库里前面是日期,后面跟着00:00:00.000,由于在查询的时候不可能输入这些具体时间,在查询的时候结果总是空的。另外一个问题就是另一个页面里,我想查询该日期下所有结果:
string str = System.Configuration.ConfigurationManager.ConnectionStrings["HXConnectionString"].ConnectionString;
            SqlConnection conn = new SqlConnection(str);
            string sele = "select * from tab_in where bjdate='" + txtBjdate.Text.Trim() + "'";
            SqlCommand cmd = new SqlCommand(sele, conn);
            conn.Open();
            int i = Convert.ToInt32(cmd.ExecuteScalar());
            if (i > 0)
得到的总是“从字符串转换日期和/或时间时,转换失败”。什么原因?怎么改?
请高手指点~~

解决方案 »

  1.   

      string sele = "select * from tab_in where bjdate='" + txtBjdate.Text.Trim() + "'";处理一下首先你输入的要是时间格式  string sele = "select * from tab_in where bjdate='" + DateTime.Parse(txtBjdate.Text.Trim()).ToString("yyyy-MM-dd") + " 00:00:00.000'";
      

  2.   

            string strDate = "2012-05-23";
            DateTime timeA = DateTime.Parse(strDate);
            DateTime timeB = DateTime.Parse(strDate).AddDays(1);
            LZ这个能实现你要的要求,并且不要那么麻烦
      

  3.   

    1. 日期都是带时间的。
    2. 查询时,可以将日期format成 YYYYMMDD 再比较。