JSP文件上传并录入数据库之二

8 篇文章 0 订阅
本文介绍了一种从文件批量读取学生信息并将其导入数据库的方法。通过Java代码实现了对学生所在班级是否存在及学生学号是否重复的判断,确保数据的准确性。文章详细展示了如何使用BufferedReader读取文件内容、DbConnect类连接数据库以及执行SQL语句。
摘要由CSDN通过智能技术生成

3。下面是从文件中读取数据,并插入到数据库中,其中黑体字是关键语句,其他的代码,我主要是做了一些条件判断而已,这些大家可以根据自身的情况,进行调整。

  public void setinsertStu(){//学生信息导入
    String s="";
    BufferedReader bufferIn=null;

    try{
      bufferIn = new BufferedReader(new InputStreamReader(new FileInputStream(mulu +"//" + fileName)));
      DbConnect db = new DbConnect();
      db.setLoadClass();
      Connection conn = db.getMakeConnect();
      Statement stmt = db.getMakeStatement(conn);
      String sql = "";
      ResultSet rs = null;
      thisUrl fg = new thisUrl();
      String[] jg = new String[3];
      int i = 0;
      int j = 1;
      while ( (s = bufferIn.readLine()) != null) {
        jg = fg.getfgStr(s,3);//分割数据
        //判断导入学生所在的班级是否已经存在
        sql = "select * from bj where bj_id like '" + jg[2] + "'";
        rs = db.getMakeResultSet(stmt, sql);
        if (rs.next()) { //班级存在,允许导入
          //判断学生是否已经存在
          sql = "select * from students where xh like '" + jg[0] + "'";
          rs = db.getMakeResultSet(stmt, sql);
          if (!rs.next()) {
            sql = "insert into students (xh,xm,bj_id) values ('" + jg[0] + "','" +jg[1] + "','" + jg[2] + "')";
            db.setUpdata(stmt, sql);
            i++;
          }
          else {
            msgInsert1 = msgInsert1 + j+". "+jg[0] + " 该学号已经存在!<br>";
          }
          db.setClose(rs);
        }
        else { //班级不存在
          msgInsert1 = msgInsert1 + j+". "+ jg[0] + " 所在的班级不存在,请先设置班级信息!<br>";
        }
        j++;
      }
      db.setClose(stmt);
      db.setClose(conn);
      msgInsert2 ="<br>一共 " + (j-1) + " 条记录: " + i + " 条记录成功导入, " + (j-1 - i) +" 条记录导入失败!<br><br>";
    }
    catch (Exception edr) {
      msgInsert1 = msgInsert1 + "<br>数据导入失败!<br>";
      edr.printStackTrace();
    }
    try { //删除新文件
      bufferIn.close();
      File f3 = new File(mulu + "//" + fileName);
      f3.delete();
    }
    catch (IOException e) {
      msgInsert1 = msgInsert1 + "文件删除出错!";
    }
    msgInsert1="<font color=red>错误信息:</font><br>"+msgInsert1;
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值