【swing】在做c/s的图书管理系统时遇到的异常及解决办法

本文针对C/S架构下图书管理系统开发过程中出现的异常进行解析,并提供了解决方案,包括结果集操作、列索引、SQL语句优化、游标管理和空指针异常等方面。

在做c/s的图书管理系统时遇到的异常及解决办法:

 

 

1.对只转发结果集的无效操作:last
  产生这个异常的原因是:rs.last()方法让类似指针的东西走到了最后,从而造成结果集失效。
  解决方法:给PreparedStatement语句赋值时,在sql后面加两句话:
  ps = conn.prepareStatement(sql,
      ResultSet.TYPE_SCROLL_INSENSITIVE,
      ResultSet.CONCUR_UPDATABLE);
      


2.无效的列索引
 解决方法:在定位列和行时,记得行列索引都要加1,否则是从0开始的。

3. 对只转发结果集的无效操作:updateObject
 产生原因可能是SQL语句中的*
 解决办法:将*改为列名。
 记住尽量不要用*来进行查询。
 


 4.超出打开游标的最大数

多次拖动JTable,可能会造成这种异常,这是因为打开的游标超出了预设打开游标最大值。

解决办法:在得到prepareStatement或Statement得地方记得加上finally将其关闭。如图书管理系统中,用户管理界面需从权限DAO层获取权限值来new一个ComboBox,在用完DAO传回的值后就要在后面加上if (st != null) {
   try {
    st.close();
   } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
  }if(ps!=null){
   try {
    ps.close();
   } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
  }

5.空指针异常

这是最常见的异常。解决办法就是多多调试= =|||看看到底是哪里的值没有传到,还有很重要的一点是不要轻易地赋null值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值