如何在C#里查询ACCESS里的日期

bigmheqi 2012-04-17 09:06:12
打个比方,想查询一本书的印刷日期,如果此日期与今天的日期相差不到30天,则印刷成本=100,否则印刷成本=200.
我刚接触这些东西,属于啥都不懂系列.求大神能把从数据库连接到,到查询,到计算出结果的代码写出来,不胜感激啊.
...全文
340 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigmheqi 2012-04-18
  • 打赏
  • 举报
回复
已解决,代码如下:
DataSet ds;
OleDbConnection objConnection;
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=d:/test.mdb";
objConnection = new OleDbConnection(strConnection);
ds = new DataSet();

objConnection.Open();

sda=new OleDbDataAdapter("select max(ysrq) as ysrq from book where tsbh='" + tsbh.Text + "' and ysc='" + ysc.Text + "'", objConnection);

sda.Fill(ds, "book");
DateTime old = Convert.ToDateTime( ds.Tables["book"].Rows[0]["ysrq"]);
DateTime now = Convert.ToDateTime(jtrq.Text);
TimeSpan span = now.Subtract(old);
int days = span.Days;
qlzf11140820 2012-04-18
  • 打赏
  • 举报
回复
sda=new OleDbDataAdapter("select max(ysrq) as ysrq from book where tsbh='" + tsbh.Text + "' and ysc='" + ysc.Text + "'", objConnection);

bigmheqi 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
用select 印刷日期 from 表 where 书名="csdn"
得到datatime 印刷日期dt1
用datatime.now获取当期日期dt2
然后用
TimeSpan span = dt2.Subtract(dt1);
int dayDiff(相差天数) = span.Days;
然后再用if判断dayDiff 就可以了
思路就是这样了 你自己具体情况具体分析下就……
[/Quote]
谢谢你的回答,不过我还有一个事情搞不懂.加入表名是book,要查询的字段是"ysrq",我这样写为什么报错
OleDbConnection objConnection;
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=d:/test.mdb";
objConnection = new OleDbConnection(strConnection);
ds = new DataSet();

objConnection.Open();

sda=new OleDbDataAdapter("select max(ysrq) from book where tsbh='" + tsbh.Text + "' and ysc='" + ysc.Text + "'", objConnection);

sda.Fill(ds, "book");
DateTime old = (DateTime)ds.Tables["book"].Rows(0)["ysrq"];

在最后一个行Rows那里提示错误,说什么cannot be used like a method
bdmh 2012-04-18
  • 打赏
  • 举报
回复
access中的 DateDiff 判断日期间隔,iif作为条件语句,相当于sqlserver的case when

资料自己google
fengxingxiake 2012-04-18
  • 打赏
  • 举报
回复
用select 印刷日期 from 表 where 书名="csdn"
得到datatime 印刷日期dt1
用datatime.now获取当期日期dt2
然后用
TimeSpan span = dt2.Subtract(dt1);
int dayDiff(相差天数) = span.Days;
然后再用if判断dayDiff 就可以了
思路就是这样了 你自己具体情况具体分析下就可以了

111,126

社区成员

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

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

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