请教高人 ,c# 操作access

ljz0919 2009-01-04 05:46:38
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())
{

-------------

}





...全文
93 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-01-04
  • 打赏
  • 举报
回复
SELECT 时间,数据 FROM 数据曲线 where year(cast(时间 as datetime))='{0}'
and month(cast(时间 as datetime))='{1}'
and day(cast(时间 as datetime))='{2}'
vrhero 2009-01-04
  • 打赏
  • 举报
回复
string selectstr = string.Format("SELECT 时间,数据 FROM 数据曲线表",query_date.Value.Year,query_date.Value.Month,query_date.Value.Day);
--------
这句也不对...你的占位符跑到哪里去了...
vrhero 2009-01-04
  • 打赏
  • 举报
回复
selection = selection + string.Format("WHERE 时间=#{0:D4}年{1:D2}月{2:D2}日#"//这里错误,Access的时间值定界符是#...要使用一种数据库你必须得先了解它...
king19840811 2009-01-04
  • 打赏
  • 举报
回复
string selectstr = string.Format("SELECT 时间,数据 FROM 数据曲线表",query_date.Value.Year,query_date.Value.Month,query_date.Value.Day); 很明显这里有问题

数据曲线表后面一大堆东西是什么东西啊
king19840811 2009-01-04
  • 打赏
  • 举报
回复
不知道你所说的不成功到底是什么意思
路人乙e 2009-01-04
  • 打赏
  • 举报
回复
string selectstr = String.Format("SELECT  时间,数据 FROM 数据曲线表 WHERE 时间='{0:D4}年{1:D2}月{2:D2}日'",query_date.Value.Year.ToString()
,query_date.Value.Month.ToString()
,query_date.Value.Day.ToString());
oleDbQueryCommand3.CommandText = selectstr;
flyjimi 2009-01-04
  • 打赏
  • 举报
回复
string selectstr = string.Format("SELECT 时间,数据 FROM 数据曲线表",query_date.Value.Year,query_date.Value.Month,query_date.Value.Day);

没有大括号括起来的参数啊?{}
jin20000 2009-01-04
  • 打赏
  • 举报
回复
up

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧