?? student_operation.java
字號:
package studentman;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import util.stringUtil;
import db.dbconn;
/**
* 封裝對學生表的所有操作
*/
public class student_operation {
/**
* 功能:往學生表增加一條記錄
* 輸入參數:student_name為學生姓名
* 輸出:返回1表成功,返回2表數據連接參數配置不正確或連接數據庫失敗或數據庫操作失敗,
* 返回3表此班級已存在,返回4表輸入參數class_name為空;
*/
public int student_add_one(String student_name,int class_id){
dbconn dbconnOBject=new dbconn();//數據庫連接對象
String sqlString=null;//SQL語句字符串
ResultSet rs=null;//結果記錄集
Connection dbconn=dbconnOBject.getDBConn();//得到數據庫連接
if(dbconn==null) return 2;//連接失敗
//--------輸入參數不正確---------
if(student_name==null||student_name.trim().length()==0||class_id==0)
return 4;
//--------輸入參數編碼轉換-------
stringUtil stringCode=new stringUtil();
student_name=stringCode.codeToString(student_name.trim());
//--------插入記錄,先判斷是否已存在------
sqlString="select * from student where student_name=? and class_id=?";
try{
PreparedStatement preSQLSelect=dbconn.prepareStatement(sqlString);
preSQLSelect.setString(1,student_name);
preSQLSelect.setInt(2,class_id);
rs=preSQLSelect.executeQuery();
if(rs.next()) return 3;//已存在此學生
sqlString="insert into student(student_name,class_id) values(?,?)";
PreparedStatement preSQLInsert=dbconn.prepareStatement(sqlString);
preSQLInsert.setString(1,student_name);
preSQLInsert.setInt(2,class_id);
preSQLInsert.executeUpdate();
return 1;
}catch(Exception e){
System.out.print(e);
return 2;
}
}
/**
* 功能:查詢出所有的學生信息
* 輸入參數:無
* 輸出:所有學生的記錄集,如果沒有記錄或操作失敗返回null
*/
public ResultSet student_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 student.student_id as student_id," +
"student.student_name as student_name," +
"student.class_id as class_id," +
"class.class_name as class_name from student,class " +
"where class.class_id=student.class_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;
}
}
/**
* 功能:根據條件查詢出學生的信息
* 輸入參數:class_id為班級ID號,student_name為學生姓名(支持模糊查詢)
* 輸出:查詢出的學生的記錄集,如果沒有記錄或操作失敗返回null
*/
public ResultSet student_select_part(int class_id,String student_name){
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 student.student_id as student_id," +
"student.student_name as student_name," +
"student.class_id as class_id," +
"class.class_name as class_name from student,class " +
"where class.class_id=student.class_id";
if(class_id!=0)
sqlString=sqlString+" and class.class_id="+class_id+" and " +
"student.class_id="+class_id;
if(student_name!=null&&student_name.trim().length()!=0)
sqlString=sqlString+" and student.student_name like '%" +
""+student_name+"%'";
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表輸入參數student_id為0,即輸入參數不正確
*/
public int student_delete(int student_id){
String sqlString=null;//SQL語句字符串
ResultSet rs=null;//結果記錄集
dbconn dbconnOBject=new dbconn();//數據庫連接對象
Connection dbconn=dbconnOBject.getDBConn();//得到數據庫連接
if(dbconn==null) return 2;//連接失敗
if(student_id==0) return 4;//輸入參數不正確
//---------刪除數據--------------
sqlString="delete from student where student_id=?";
try{
PreparedStatement preSQLDelete=dbconn.prepareStatement(sqlString);
preSQLDelete.setInt(1,student_id);
preSQLDelete.executeUpdate();
return 1;
}catch(Exception e){
System.out.print(e);
return 2;
}
}
/**
* 功能:查詢出某一學生的信息
* 輸入參數:學生的ID
* 輸出:此條學生記錄,如果沒有記錄或操作失敗返回null
*/
public ResultSet student_select_one(int student_id){
String sqlString=null;//SQL語句字符串
ResultSet rs=null;//結果記錄集
dbconn dbconnOBject=new dbconn();//數據庫連接對象
Connection dbconn=dbconnOBject.getDBConn();//得到數據庫連接
if(dbconn==null) return null;//連接失敗
if(student_id==0) return null;//輸入參數不正確
try{
//-------查詢出數據------------
sqlString="select * from student where student_id=?";
PreparedStatement preSQLSelect=dbconn.prepareStatement(sqlString);
preSQLSelect.setInt(1,student_id);
rs=preSQLSelect.executeQuery();
return rs;
}catch(Exception e){
System.out.print(e);
return null;
}
}
/**
* 功能:更新學生表的一條記錄
* 輸入參數:student_id為學生序號,student_name為學生姓名,class_id為所屬班級ID號
* 輸出:返回1表成功,返回2表數據連接參數配置不正確或連接數據庫失敗或數據庫操作失敗,
* 返回3表記錄已存在,返回4表輸入參數為空或不正確;
*/
public int student_update(int student_id,String student_name,int class_id){
String sqlString=null;//SQL語句字符串
dbconn dbconnOBject=new dbconn();//數據庫連接對象
ResultSet rs=null;//結果記錄集
Connection dbconn=dbconnOBject.getDBConn();//得到數據庫連接
if(dbconn==null) return 2;//連接失敗
if(student_id==0||class_id==0||student_name.trim().length()==0){//輸入參數不正確
return 4;
}
//--------輸入參數編碼轉換-------
stringUtil stringCode=new stringUtil();
student_name=stringCode.codeToString(student_name.trim());
//--------更新記錄,先判斷是否已存在------
sqlString="select * from student where student_name=? and class_id=? and student_id<>"+student_id;
try{
PreparedStatement preSQLSelect=dbconn.prepareStatement(sqlString);
preSQLSelect.setString(1,student_name);
preSQLSelect.setInt(2,class_id);
rs=preSQLSelect.executeQuery();
if(rs.next()) return 3;//已存在此學生
//--------更新記錄-----------
sqlString="update student set student_name=?,class_id=? where student_id=?";
PreparedStatement preSQLUpdate=dbconn.prepareStatement(sqlString);
preSQLUpdate.setString(1,student_name);
preSQLUpdate.setInt(2,class_id);
preSQLUpdate.setInt(3,student_id);
preSQLUpdate.executeUpdate();
return 1;
}catch(Exception e){
System.out.print(e);
return 2;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -