將整數值從一個類傳遞到另一個類時出現問題。我創建了2個MYSQL表,一個用於存儲學生信息,另一個用於「櫃檯表」。學生表的目的是存儲信息,「櫃檯表」是存儲我們擁有多少學生的數量。之後,我創建了一個方法來從「計數器表」中獲取整數值,並且想要發送到另一個類方法以將值增加1以便在註冊時插入學生表中的新行。例如,我的學生表有5個學生,因此我的計數器表格將具有值5.當學生想要註冊新帳戶時,他或她只能填寫STD_NAME,STD_TEL,並且NO將來自方法從表「計數器表」中得到整數值併發送給另一個方法以加1。因此,新學生在學生表中將沒有6行。將一個整數從一個類傳遞到一個類
CLASS FOR COUNTER TABLE
public CounterTable(){
}
public int getCurrentNumber(Connection conn, String table_name){
int current_no = 0;
String QUERY = "SELECT * FROM counter_table WHERE TABLE_NAME='" + table_name + "'";
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(QUERY);
rs.next();
current_no = rs.getInt("TABLE_NO");
}
catch(SQLException ex){
ex.printStackTrace();
}
catch(Exception ex){
ex.printStackTrace();
}
finally{
try{
stmt.close();
rs.close();
}
catch(Exception ex){
ex.printStackTrace();
ex.getMessage();
}
}
return current_no;
}
public void updateCounterNumber(Connection conn, String table_name){
int current_no = 0;
String QUERY = "UPDATE table_no WHERE TABLE_NAME='" + table_name + "'";
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(QUERY);
rs.next();
}
catch(SQLException ex){
ex.printStackTrace();
}
catch(Exception ex){
ex.printStackTrace();
}
finally{
try{
stmt.close();
rs.close();
}
catch(Exception ex){
ex.printStackTrace();
ex.getMessage();
}
}
}
}
CLASS FOR STUDENT REGISTER
String std_name = "";
String std_icno = "";
String std_mobile = "";
String std_tel = "";
String std_address = "";
String std_gender = "";
String no = "";
String table_name = "";
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void InsertData(){
Connection conn = new Database().getConnection();
PreparedStatement pstmt = null;
//ResultSet rs = null;
try {
String student ="";
conn = new Database().getConnection();
String query = "INSERT INTO student(NO, STD_NAME, STD_ICNO, STD_MOBILE, STD_TEL, STD_ADDRESS, STD_GENDER) values(?,?,?,?,?,?,?)";
SetNewNumberPlusOne(conn, student, no);
pstmt = conn.prepareStatement(query);
pstmt.setString(1, no);
pstmt.setString(2, std_name);
pstmt.setString(3, std_icno);
pstmt.setString(4, std_mobile);
pstmt.setString(5, std_tel);
pstmt.setString(6, std_address);
pstmt.setString(7, std_gender);
pstmt.executeUpdate();
updateCounterNumber(conn, student, no);
}
catch(SQLException ex){
ex.printStackTrace();
}
catch(Exception ex){
ex.printStackTrace();
}
finally{
try{
pstmt.close();
if(conn != null){
conn.close();
}
}
catch(SQLException ex){
ex.printStackTrace();
ex.getMessage();
}
}
}
public void SetNewNumberPlusOne(Connection conn, String student, String no){
}
private void updateCounterNumber(Connection conn, String student, String no2){
}
}
我從櫃檯表傳遞current_no值SetNewNumberPlusOne的方法,在課堂上學生的問題登記
哪裏在學生註冊中調用getCurrentNumber? – 2014-09-05 07:10:01
不是數據庫,您使用的數據庫支持'SELECT COUNT(id)FROM Student'查詢嗎?這可以簡單地給你提供這種效果,爲此你創建了一個新的表格來跟蹤已經註冊的學生人數。 – 2014-09-05 07:48:55