📄 readdb.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 + -