?? core_operation.java
字號:
package core;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import db.dbconn;
/**
* 封裝對學生成績表的操作
*/
public class core_operation {
/**
* 功能:往學生成績表增加一條記錄
* 輸入參數::lession_id為課程ID,student_id為學生ID
* 輸出:返回1表成功,返回2表數據連接參數配置不正確或連接數據庫失敗或數據庫操作失敗,
* 返回3表此學生成績信息已存在,返回4表輸入參數lession_id或student_id為空;
*/
public int core_add_one(int lession_id,long student_id){
dbconn dbconnOBject=new dbconn();//數據庫連接對象
String sqlString=null;//SQL語句字符串
ResultSet rs=null;//結果記錄集
Connection dbconn=dbconnOBject.getDBConn();//得到數據庫連接
if(dbconn==null) return 2;//連接失敗
//--------輸入參數不正確---------
if(lession_id==0||student_id==0)
return 4;
//--------插入記錄,先判斷是否已存在------
sqlString="select * from core where lession_id=? and student_id=?";
try{
PreparedStatement preSQLSelect=dbconn.prepareStatement(sqlString);
preSQLSelect.setInt(1,lession_id);
preSQLSelect.setLong(2,student_id);
rs=preSQLSelect.executeQuery();
if(rs.next()) return 3;//已存在此教師授課記錄
sqlString="insert into core(lession_id,student_id) values(?,?)";
PreparedStatement preSQLInsert=dbconn.prepareStatement(sqlString);
preSQLInsert.setInt(1,lession_id);
preSQLInsert.setLong(2,student_id);
preSQLInsert.executeUpdate();
return 1;
}catch(Exception e){
System.out.print(e);
return 2;
}
}
/**
* 功能:查詢出所有的學生成績信息
* 輸入參數:無
* 輸出:所有學生成績的記錄集,如果沒有記錄或操作失敗返回null
*/
public ResultSet core_select_all(){
String sqlString=null;//SQL語句字符串
Statement sql=null;//SQL語句對象
ResultSet rs=null;//結果記錄集
dbconn dbconnOBject=new dbconn();//數據庫連接對象
Connection dbconn=dbconnOBject.getDBConn();//得到數據庫連接
if(dbconn==null) return null;//連接失敗
try{
//-------查詢出數據------------
sqlString="select distinct core.core_id as core_id," +
"core.student_id as student_id," +
"core.lession_id as lession_id," +
"student.student_name as student_name," +
"lession.lession_name as lession_name"+
" from core,student,lession " +
"where lession.lession_id=core.lession_id" +
" and student.student_id=core.student_id";
sql=dbconn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery(sqlString);
return rs;
}catch(Exception e){
System.out.print(e);
return null;
}
}
/**
* 功能:根據條件查詢出學生成績的信息
* 輸入參數:lession_id為課程ID號,student_id為學生ID號
* 輸出:查詢出需要的學生成績的記錄集,如果沒有記錄或操作失敗返回null
*/
public ResultSet core_select_part(int lession_id,long student_id){
String sqlString=null;//SQL語句字符串
Statement sql=null;//SQL語句對象
ResultSet rs=null;//結果記錄集
dbconn dbconnOBject=new dbconn();//數據庫連接對象
Connection dbconn=dbconnOBject.getDBConn();//得到數據庫連接
if(dbconn==null) return null;//連接失敗
try{
//-------查詢出數據------------
sqlString="select distinct core.core_id as core_id," +
"core.student_id as student_id," +
"core.lession_id as lession_id," +
"student.student_name as student_name," +
"lession.lession_name as lession_name"+
" from core,student,lession " +
"where lession.lession_id=core.lession_id" +
" and student.student_id=core.student_id";
if(lession_id!=0)
sqlString=sqlString+" and lession.lession_id="+lession_id+" and " +
"core.lession_id="+lession_id;
if(student_id!=0)
sqlString=sqlString+" and student.student_id="+student_id+" and " +
"core.student_id="+student_id;
sql=dbconn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery(sqlString);
return rs;
}catch(Exception e){
System.out.print(e);
return null;
}
}
/**
* 功能:刪除一個學生成績表中的信息
* 輸入參數:學生成績表中的ID號
* 輸出:返回1表成功,返回2表數據連接參數配置不正確或連接數據庫失敗,
* 返回4表輸入參數core_id為0,即輸入參數不正確
*/
public int core_delete(long core_id){
String sqlString=null;//SQL語句字符串
ResultSet rs=null;//結果記錄集
dbconn dbconnOBject=new dbconn();//數據庫連接對象
Connection dbconn=dbconnOBject.getDBConn();//得到數據庫連接
if(dbconn==null) return 2;//連接失敗
if(core_id==0) return 4;//輸入參數不正確
//---------刪除數據--------------
sqlString="delete from core where core_id=?";
try{
PreparedStatement preSQLDelete=dbconn.prepareStatement(sqlString);
preSQLDelete.setLong(1,core_id);
preSQLDelete.executeUpdate();
return 1;
}catch(Exception e){
System.out.print(e);
return 2;
}
}
/**
* 功能:查詢出某一條學生成績表中的信息
* 輸入參數:學生成績表中的ID號
* 輸出:此條學生成績中的記錄,如果沒有記錄或操作失敗返回null
*/
public ResultSet core_select_one(long core_id){
String sqlString=null;//SQL語句字符串
ResultSet rs=null;//結果記錄集
dbconn dbconnOBject=new dbconn();//數據庫連接對象
Connection dbconn=dbconnOBject.getDBConn();//得到數據庫連接
if(dbconn==null) return null;//連接失敗
if(core_id==0) return null;//輸入參數不正確
try{
//-------查詢出數據------------
sqlString="select * from core where core_id=?";
PreparedStatement preSQLSelect=dbconn.prepareStatement(sqlString);
preSQLSelect.setLong(1,core_id);
rs=preSQLSelect.executeQuery();
return rs;
}catch(Exception e){
System.out.print(e);
return null;
}
}
/**
* 功能:更新學生成績表的一條記錄
* 輸入參數:core_id為學生成績序號,lession_id為課程ID,student_id為學生ID
* 輸出:返回1表成功,返回2表數據連接參數配置不正確或連接數據庫失敗或數據庫操作失敗,
* 返回3表記錄已存在,返回4表輸入參數為空或不正確;
*/
public int core_update(long core_id,int lession_id,long student_id){
String sqlString=null;//SQL語句字符串
dbconn dbconnOBject=new dbconn();//數據庫連接對象
ResultSet rs=null;//結果記錄集
Connection dbconn=dbconnOBject.getDBConn();//得到數據庫連接
if(dbconn==null) return 2;//連接失敗
if(core_id==0||lession_id==0||student_id==0){//輸入參數不正確
return 4;
}
//--------更新記錄,先判斷是否已存在------
sqlString="select * from core where lession_id=? and student_id=? and core_id<>"+core_id;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -