gpt4 book ai didi

java - 使用 MySQL 获取日期之间的记录并将其显示在 JTable 上

转载 作者:行者123 更新时间:2023-11-29 21:07:58 26 4
gpt4 key购买 nike

这是从JDateChooser中选择两个日期时的语句和查询没有错误,但是当我选择日期并单击“确定”时,从JTable中选择记录消失。

enter image description here

Jtable and dates

java.util.Date val1=jDateChooser1.getDate();
java.util.Date val2=jDateChooser2.getDate();
try{
String sql="select * from Umar where Date between '"+val1+"' and '"+val2+"' ";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}

最佳答案

您的 SQL 语句中推送的值是错误的。所有行消失是正常的,因为没有行可以匹配此条件。

camickr 是赖特。您应该使用 SQL 参数来传递 SQL 中的值。在您的情况下,有效的实现是:

java.util.Date val1=jDateChooser1.getDate();
java.util.Date val2=jDateChooser2.getDate();
try{
String sql="select * from Umar where Date between ? and ? ";
pst=conn.prepareStatement(sql);
pst.setDate( 1, val1 );
pst.setDate( 2, val2 );
rs=pst.executeQuery();
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}

当然,日期不能为空。在执行此代码之前,您应该确保它们不是。

关于java - 使用 MySQL 获取日期之间的记录并将其显示在 JTable 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36648719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com