打个比方,想查询一本书的印刷日期,如果此日期与今天的日期相差不到30天,则印刷成本=100,否则印刷成本=200.
    我刚接触这些东西,属于啥都不懂系列.求大神能把从数据库连接到,到查询,到计算出结果的代码写出来,不胜感激啊.

解决方案 »

  1.   

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

  2.   

    access中的 DateDiff 判断日期间隔,iif作为条件语句,相当于sqlserver的case  when资料自己google
      

  3.   

    谢谢你的回答,不过我还有一个事情搞不懂.加入表名是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
      

  4.   

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

  5.   

    已解决,代码如下:
    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;