try{
Calendar cal = new GregorianCalendar();
int d1=21;
int m1 = cal.get(Calendar.MONTH);
int y1 = cal.get(Calendar.YEAR);
Class.forName("com.mysql.jdbc.Driver");
String db = "jdbc:mysql://localhost:3306/data1";
con = DriverManager.getConnection(db,"root","");
st=con.createStatement();
String sql ="SELECT id,name,d,m,y FROM Table5"
+ " WHERE d<d1";
rs=st.executeQuery(sql);
tb.setModel(DbUtils.resultSetToTableModel(rs));
st.close();
con.close();
} catch(Exception ex){
JOptionPane.showMessageDialog(null,ex);
}
String sql ="SELECT id,name,d,m,y FROM Table5" + " WHERE d<d1";
计算机显示我d1无法与d进行比较
和d是我的数据库列日期,d1是我的计算机日期
答案 0 :(得分:2)
如果我理解你的问题,你必须做这样的事情:
String sql = "SELECT id,name,d,m,y FROM Table5 WHERE d < ?";
PreparedStatement st=con.prepareStatement(sql);
st.setInt(1, d1);
ResultSet rs = st.executeQuery();
答案 1 :(得分:0)
检查您在java类中导入的内容。有两个不同的日期。 java.sql.Date和java.util.Date。更好的是你可以转换为相同类型或转换为秒并比较......