c#生手一个,做了一个小项目,其中一个功能是周期性的采集下级装置的模拟量,放入到一个表中(数据曲线表),同时把采集时刻的时间也放入该表中,只有两个字段:时间 ,数据。最后根据时间点和对应的数据绘制一条曲线。我是这样处理的,把时间(比如:2009年1月4日10时8分48秒,用了一个DateTimePicker)转换成字符串保存到表的“时间”字段中,再设计表的时候我把该字段设计成文本型,同时把相应采集到的值保存到表的“数据”字段中。上述工作已经完成,运行程序,也看到了表中的时间和数据。
接下来我要把表中的时间和数据保存到ArrayList 变量中,然后再画曲线。我要把表中符合条件的数据select到ArrayList中,因为我要的是一天的数据,所以我的条件就是 时间字段的年月日部分等于当前用户点击DateTimePicker后对应的年月日,但折腾了半天,总是不成功,我把大概的代码贴一下,忘高人指点,再此先谢过了。string selectstr = string.Format("SELECT 时间,数据 FROM 数据曲线表",query_date.Value.Year,query_date.Value.Month,query_date.Value.Day);
string selection = "";
selection = selection + string.Format("WHERE 时间='{0:D4}年{1:D2}月{2:D2}日'"
,query_date.Value.Year.ToString()
,query_date.Value.Month.ToString()
,query_date.Value.Day.ToString()
);
selectstr += selection; oleDbQueryCommand3.CommandText = selectstr;
System.Data.OleDb.OleDbDataReader reader = oleDbInsertCommand3.ExecuteReader();
while (reader.Read())
{
-------------
}
接下来我要把表中的时间和数据保存到ArrayList 变量中,然后再画曲线。我要把表中符合条件的数据select到ArrayList中,因为我要的是一天的数据,所以我的条件就是 时间字段的年月日部分等于当前用户点击DateTimePicker后对应的年月日,但折腾了半天,总是不成功,我把大概的代码贴一下,忘高人指点,再此先谢过了。string selectstr = string.Format("SELECT 时间,数据 FROM 数据曲线表",query_date.Value.Year,query_date.Value.Month,query_date.Value.Day);
string selection = "";
selection = selection + string.Format("WHERE 时间='{0:D4}年{1:D2}月{2:D2}日'"
,query_date.Value.Year.ToString()
,query_date.Value.Month.ToString()
,query_date.Value.Day.ToString()
);
selectstr += selection; oleDbQueryCommand3.CommandText = selectstr;
System.Data.OleDb.OleDbDataReader reader = oleDbInsertCommand3.ExecuteReader();
while (reader.Read())
{
-------------
}
,query_date.Value.Month.ToString()
,query_date.Value.Day.ToString());
oleDbQueryCommand3.CommandText = selectstr;
--------
这句也不对...你的占位符跑到哪里去了...
and month(cast(时间 as datetime))='{1}'
and day(cast(时间 as datetime))='{2}'