搜索时间,, strSql = "select * from dHistory where datetime between '"+starttime+"' and '"+endtime+"'"; 执行时就报myadapter.Fill(myds, "dHistory");这时出错,
把SQL改成下面语句就可以通过,strSql = "select * from dHistory";
什么问题呢,
数据库如下图

DateTime starttime = Convert.ToDateTime("2014-02-20 00:00:00");
DateTime endtime = Convert.ToDateTime("2014-02-25 00:00:00");
strSql = "select * from dHistory where datetime between '"+starttime+"' and '"+endtime+"'";
//strSql = "select * from dHistory";
OleDbDataAdapter myadapter = new OleDbDataAdapter(strSql, conn);
private DataSet myds = new DataSet();
myadapter.Fill(myds, "dHistory");
dataGridView1.DataSource = null;
dataGridView1.DataSource = myds.Tables["dHistory"];
------解决思路----------------------
首先我需要知道你到底用的什么数据库
不同数据库sql语法上略有不同(主要是类型和系统函数不一样)
------解决思路----------------------
datetime是关键字啊。。。你数据库字段就叫这个名字,其次在检查这个字段是否是时间类型。。。
------解决思路----------------------
strSql = "select * from dHistory where [datetime] between '"+starttime+"' and '"+endtime+"'";
datetime字段加中括号试试,不行就把这个字段改掉,datetime是数据类型