这是还书操作的代码:
public static void returnbook(String bookName) {
try {
Connection con = ConnectDatabase.connectDB();
String sql1 = "update book311 set position='在馆'";
String sql2 = String.format("update usbk set returndate = %s where bookname='"+bookName+"'","getdate()");
Statement stmt=con.createStatement();
stmt.executeUpdate(sql1);
stmt.executeUpdate(sql2);
}
catch (SQLException e) {
e.printStackTrace();
}
}
这是将数据插入表格的代码:
public static void adaccountcheck(JTable table,String Account){
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
Connection con = ConnectDatabase.connectDB();
PreparedStatement preSql;
ResultSet rs;
boolean flag = false;
Account = "%" + Account + "%";
String sqlStr = "select user311.account,user311.name,book311.bookno,usbk.bookname,borrowdate,returndate from user311,book311,usbk where usbk.account like ?";
try {
preSql = con.prepareStatement(sqlStr);
preSql.setString(1, Account);
rs = preSql.executeQuery();
while (rs.next()) {
flag = true;
String useraccount = rs.getString(1);
String username = rs.getString(2);
String bookno = rs.getString(3);
String bookname = rs.getString(4);
String borrowdate = rs.getString(5);
String returndate = rs.getString(6);
tableModel.addRow(new Vector<>(Arrays.asList(useraccount, username, bookno, bookname,borrowdate,returndate)));
}
if (!flag) {
JOptionPane.showMessageDialog(null, "该用户无借书记录!", null, JOptionPane.WARNING_MESSAGE);
}
con.close();
} catch (SQLException e) {
}
}
在sql数据库里面的结果(进行还书操作后)还书日期为什么不能显示时间,只有日期?(代码和借书操作是一样的):
而且在Java操作得出的结果是这样的:
问题一:还书日期怎么不一样了?
问题二:数据库里面明明只有一行,为什么会出现第二行?
感谢解答!!