日期:2014-05-17  浏览次数:20438 次

怎么才能使日期写入数据库时是只有日期的形式
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)
得到的总是“从字符串转换日期和/或时间时,转换失败”。什么原因?怎么改?
请高手指点~~

------解决方案--------------------
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'";
------解决方案--------------------
探讨
string sele = "select * from tab_in where bjdate='" + txtBjdate.Text.Trim() + "'";

处理一下

首先你输入的要是时间格式

string sele = "select * from tab_in where bjdate='" + DateTime.Parse(txtBjdate.Text.Trim……

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