javasqlaccess怎么比较日期大小 - 爱问答

(爱问答)

javasqlaccess怎么比较日期大小

读取returnlist数据库(access)把归还日期大于借阅期限的数据做成表(jtable)输出到屏幕

try {

PreparedStatement preparedStatement=connection.prepareStatement("select *from returnlist where 用户名=?");

preparedStatement.setString(1, user_Library.currentuserString);

ResultSet rs=preparedStatement.executeQuery();

vdata=new Vector();

while(rs.next())

{

date1=rs.getDate(6);

date2=rs.getDate(7);

//PreparedStatement preparedStatement2=connection.prepareStatement("select *from returnlist where ?<?");

//preparedStatement2.setDate(1, date1);

//preparedStatement2.setDate(2, date2);

//ResultSet rs1=preparedStatement2.executeQuery();

Statement stmt=connection.createStatement();

String sql="select *from returnlist where '"+"#"+date1+"#'<'#"+date2+"#'";

System.out.print(sql);

ResultSet rs1=stmt.executeQuery(sql);

while(rs1.next())

{

feeflag=true;

   vrow=new Vector();

     vrow.add(rs1.getString(1));

     vrow.add(rs1.getString(2));

     vrow.add(rs1.getString(3));

     vrow.add(rs1.getString(4));

     vrow.add(rs1.getString(5));

     vrow.add(rs1.getString(6));

     vrow.add(rs1.getString(7));

     vrow.add(rs1.getString(8));

     vdata.add(vrow);

}

}

if (feeflag==true) {

  Vector vcolumn=new Vector();

    vcolumn.add("权限");

    vcolumn.add("用户名");

    vcolumn.add("信用值");

    vcolumn.add("借阅书籍");

    vcolumn.add("出版社");

    vcolumn.add("借阅限期");

    vcolumn.add("归还日期");

    vcolumn.add("欠费状态");

    if (user_Library.switchmode==false) {

        user_Library.tablemodel=new DefaultTableModel(vdata,vcolumn);

        user_Library.jtable=new JTable(user_Library.tablemodel);

        user_Library.tablePane=new JScrollPane(user_Library.jtable);

        user_Library.userFrame.add(user_Library.tablePane,BorderLayout.CENTER);

        user_Library.userFrame.setVisible(true);

       user_Library.switchmode=true;

}

    else if(user_Library.switchmode==true)

    {

    user_Library.tablemodel=new DefaultTableModel(vdata,vcolumn);

    user_Library.jtable.setModel(user_Library.tablemodel);

    user_Library.userFrame.setVisible(true);

    }

}

问题是他没有判断日期大小 把数据库里的东西全部输出出来了


你程序的思路完全不对啊。这个不用在循环中再做查询的,一条SQL就可以解决你的问题

select * from returnlist where 用户名=? and 归还日期>借阅限期

而你是先取了用户的数据,又做了一遍SQL(这个多余的)

若第一次你要取用户所有数据,也就是

select * from returnlist where 用户名=? 

那么,你只要用程序判date1>date2,不用再查数据库的

另外,你的rs1的SQL条件看上去写反了,所以结果不对


相关标签:java

下一篇:EXCEL中打印如何居中?

上一篇:这个哪个组织的logo?

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?