肚脐开心 2021-09-14 23:40 采纳率: 72.2%
浏览 86
已结题

Java数据库获取日期等其他疑问

这是还书操作的代码:

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数据库里面的结果(进行还书操作后)还书日期为什么不能显示时间,只有日期?(代码和借书操作是一样的):

img

而且在Java操作得出的结果是这样的:

img


问题一:还书日期怎么不一样了?
问题二:数据库里面明明只有一行,为什么会出现第二行?

感谢解答!!

  • 写回答

3条回答 默认 最新

  • 於黾 2021-09-15 09:12
    关注

    1.先看数据库表结构,是否你的数据类型是date而不是datetime,也就是说数据库里本身只有日期,没有时间
    2.这是你使用了数据库的客户端连接数据库,并且使用编辑模式而非查询模式打开表造成的。第二行是为了你在客户端界面手动添加一行数据预留的,它并不在数据库里。你看它的行标题标了个*号,表示这一行其实在内存里,并不是实际数据库里的数据。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月24日
  • 已采纳回答 9月24日
  • 创建了问题 9月14日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改