数据库的再次连接问题

                  昨天是在银河学习的第一天,第一个任务是写一个"登陆".呵呵轻车熟路 我很熟练的写好了. 今天起来后想将他写完善,于是就加入了IDUS.当加入update方法后就就进行了测试.代码如下:

public class Comm {

 Connection con;
 Statement st;
 public Comm() {
  con = new Conn().getCon();
  try {
   st =con.createStatement();
  } catch (SQLException e) {
   System.out.println("创建Statement对象失败");
   e.printStackTrace();
  }
 }

 public static void main(String[] args) throws SQLException {
  Comm m = new Comm();
  m.UpdateClum("兆强",2);
  ArrayList<String> my = m.getClum(2);
  for (String string : my) {
   System.out.println(string);
  }
        m.close();
 }

 // 选择某一列的数据 select语句
 public ArrayList<String> getClum(int i) {
  String sql = "select * from managers";
  ArrayList<String> al = new ArrayList<String>();
  ResultSet rs = null;
  try {
    st = con.createStatement();
    rs = st.executeQuery(sql);
   while (rs.next()) {
    al.add(rs.getString(i));
   }
  } catch (SQLException e) {
   System.out.println("select 语句不能执行");
   e.printStackTrace();
  }finally{
   try{
   rs.close();
   st.close();
   con.close();
   }catch(SQLException e){
    e.printStackTrace();
   }
  }
  return al;
 }

 // 更新一条数据 update语句
 public void UpdateClum(String newname,int i) {
  String sql = "update managers set name='" + newname + "' where id="+i;
  ResultSet rs = null;
  try {
   st = con.createStatement();
   st.executeUpdate(sql);

  } catch (SQLException e) {
   System.out.println(sql);
   System.out.println("update语句不能执行");
   e.printStackTrace();
  } finally {
   try {
    rs.close();

    st.close();
    con.close();
   } catch (SQLException e) {
    System.out.println("无法更新");
    e.printStackTrace();
   }
  }
 }

结果报错,不能在各自的操作完成之后再次连接,解决办法:公共代码提出来,最后一起关闭数据库.不过这样不利于模块的完整性,所以更好的办法还有待出现.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值