select * from table1 where DATEDIFF(day, yourdatetimecol, '2008-2-26') = 0
select * from table1 where Date(DateTimeField) = '2008-2-26'
string requestdate = dateTimePicker1.Value.ToShortDateString(); //MessageBox.Show(requestdate); string SQLstr = "select * from publicinfo where Date(infodate)='" + requestdate + "'"; 这样写好像不对,错在哪里?正确写法怎么写呵呵,不好意思,麻烦了
string SQLstr = string.Format("select * from publicinfo where DATEDIFF(day, yourdatetimecol, '{0:yyyy-MM-dd}') = 0", dateTimePicker1.Value);
如果不想使用DATEDIFF()函数,这样写也可以: string SQLstr = string.Format("select * from publicinfo where infodate between '{0:yyyy-MM-dd}') and '{0:yyyy-MM-dd} 23:59:59'", dateTimePicker1.Value);
SELECT * FROM TABLE WHERE REPLACE(CONVERT(VARCHAR(10),DATECOL,120),N'-0','-')='2008-2-26'
更正一下,上面多了个): string SQLstr = string.Format("select * from publicinfo where infodate between '{0:yyyy-MM-dd}' and '{0:yyyy-MM-dd} 23:59:59'", dateTimePicker1.Value);
很不幸,wuyi8808你的代码没查询出来呵呵
Sorry,你试试这个 select * from table1 where DateValue(DateTimeField) = '2008-2-26' string requestdate = dateTimePicker1.Value.ToShortDateString(); //MessageBox.Show(requestdate); string SQLstr = "select * from publicinfo where DateValue(infodate)='" + requestdate + "'";
void Dtp1Event(objetc o, EventArgs e) { string SQLstr = string.Format("select * from publicinfo where DATEDIFF(day, infodate, '{0:yyyy-MM-dd}') = 0", ((DateTimePicker)o).Value); // ... }
如果有问题,你可以先在查询分析器里执行看看: select * from publicinfo where DATEDIFF(day, infodate, '2008-02-26') = 0
我的整个代码是这样写的,看看对不对 public void dateTimePicker1_ValueChanged(object sender, EventArgs e) { System.Data.OleDb.OleDbDataReader dr; string requestdate = dateTimePicker1.Value.ToShortDateString(); //MessageBox.Show(requestdate); //string SQLstr = "select * from publicinfo where DateValue(infodate)='" + requestdate + "'"; string SQLstr = string.Format("select * from publicinfo where DATEDIFF(day, infodate, '{0:yyyy-MM-dd}') = 0", dateTimePicker1.Value); dr = new server.control.ClassOptionData().ExSQLReDr(SQLstr); ShowOldMessage som = new ShowOldMessage(); if (dr.Read()) { while (dr.Read()) { MessageBox.Show(dr["info"].ToString()); } } }
if (dr.Read()) { while (dr.Read()) { MessageBox.Show(dr["info"].ToString()); } } 改成: while (dr.Read()) { MessageBox.Show(dr["info"].ToString()); }就是说,把 if (dr.Read()) { ... } 去掉。
//MessageBox.Show(requestdate);
string SQLstr = "select * from publicinfo where Date(infodate)='" + requestdate + "'";
这样写好像不对,错在哪里?正确写法怎么写呵呵,不好意思,麻烦了
string SQLstr = string.Format("select * from publicinfo where infodate between '{0:yyyy-MM-dd}') and '{0:yyyy-MM-dd} 23:59:59'", dateTimePicker1.Value);
string SQLstr = string.Format("select * from publicinfo where infodate between '{0:yyyy-MM-dd}' and '{0:yyyy-MM-dd} 23:59:59'", dateTimePicker1.Value);
select * from table1 where DateValue(DateTimeField) = '2008-2-26' string requestdate = dateTimePicker1.Value.ToShortDateString();
//MessageBox.Show(requestdate);
string SQLstr = "select * from publicinfo where DateValue(infodate)='" + requestdate + "'";
{
string SQLstr = string.Format("select * from publicinfo where DATEDIFF(day, infodate, '{0:yyyy-MM-dd}') = 0", ((DateTimePicker)o).Value);
// ...
}
select * from publicinfo where DATEDIFF(day, infodate, '2008-02-26') = 0
public void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
System.Data.OleDb.OleDbDataReader dr;
string requestdate = dateTimePicker1.Value.ToShortDateString();
//MessageBox.Show(requestdate);
//string SQLstr = "select * from publicinfo where DateValue(infodate)='" + requestdate + "'";
string SQLstr = string.Format("select * from publicinfo where DATEDIFF(day, infodate, '{0:yyyy-MM-dd}') = 0", dateTimePicker1.Value); dr = new server.control.ClassOptionData().ExSQLReDr(SQLstr);
ShowOldMessage som = new ShowOldMessage();
if (dr.Read())
{
while (dr.Read())
{
MessageBox.Show(dr["info"].ToString());
}
}
}
{
while (dr.Read())
{
MessageBox.Show(dr["info"].ToString());
}
}
改成: while (dr.Read())
{
MessageBox.Show(dr["info"].ToString());
}就是说,把 if (dr.Read()) { ... } 去掉。
服务器: 消息 208,级别 16,状态 1,行 1
对象名 'publicinfo' 无效。