⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readdb.java

📁 学生成绩管理系统,基于java 方向的软件开发
💻 JAVA
字号:
package info;

import java.sql.*;
import javax.sql.DataSource;

public class ReadDB {
  private DataSource dataSource=null;
  private Statement stmt=null;
  private Connection conn=null;
  private ResultSet rs=null;
  private int num;
  private boolean flag;
  private int rowCount;
  private String id;
  private String s_name;
  private String s_sex;
  private String s_birth;
  private String s_grade;
  private String s_time;
  private float[] classname;

  public ReadDB() {
    dataSource=LinkDB.getDB();
    try{
      conn = dataSource.getConnection();
      stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
      rs=stmt.executeQuery("select * from info_table2");
      ResultSetMetaData rsmd = rs.getMetaData();
      num = rsmd.getColumnCount();//计算课程数目
    }
    catch(SQLException e){
      throw new RuntimeException(e);
    }
    finally{
      close();
    }
  }
  public ReadDB(String path,String kind){
    if (dataSource==null) {
      Init init=new Init(path);
      LinkDB.setDB(init.getDriverName(),init.getDBURL(),init.getDBUser(),init.getDBPassword());
      dataSource=LinkDB.getDB();
    }
    try{
        conn = dataSource.getConnection();
        stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
        if(kind.equals("1")){
          rs = stmt.executeQuery("select * from info_table1,info_table2 where info_table1.id=info_table2.id");
        }
        else if(kind.equals("2")){
          rs = stmt.executeQuery("select * from info_table1,info_table2 where info_table1.id=info_table2.id order by s_grade");
        }
        else{
          throw new RuntimeException("wrong way");
        }
        ResultSetMetaData rsmd = rs.getMetaData();
        num = rsmd.getColumnCount()-6;//计算课程数目
        flag = rs.last();
        rowCount=rs.getRow();
    }
    catch(SQLException e){
      throw new RuntimeException(e);
    }
  }
  public void readSQL(int pointPosition){
    try{
      if(flag&&rs.absolute(pointPosition)){
        id=rs.getString("id").trim();
        s_name=rs.getString("s_name").trim();
        s_sex=rs.getString("s_sex").trim();
        s_birth=rs.getString("s_birth").trim();
        s_grade=rs.getString("s_grade").trim();
        s_time=rs.getString("s_time").trim();
        classname=new float[num-2];
        for(int i=1;i<=classname.length;i++)
          classname[i-1]=rs.getFloat("class"+i);
        flag = rs.next();//判断记录集是否结束
      }
    }
    catch(SQLException e){
      throw new RuntimeException(e);
    }
  }
  public int getNum(){
    return num;
  }
  public String getID(){
    return id;
  }
  public String getS_name(){
    return s_name;
  }
  public String getS_sex(){
    return s_sex;
  }
  public String getS_birth(){
    return s_birth;
  }
  public String getS_grade(){
    return s_grade;
  }
  public String getS_time(){
    return s_time;
  }
  public float[] getclassname(){
    return classname;
  }
  public int getRowcount(){
    return rowCount;
  }
  public void close(){
    try {
      rs.close();
      stmt.close();
      conn.close();
      LinkDB.shutdownDataSource(dataSource);
    }
    catch (SQLException e) {
      throw new RuntimeException(e);
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -