實驗室網站簽到時,最令我擔心的就是「選錯實驗項目而簽到」,因為辛日期、時間將會覆蓋舊日期、時間,雖可調舊資料查閱,實非上策也!
上學期發生了數次,不修補一下程式,每次簽到總是充滿無限緊張,而往往一忙,意外就發生了。
今天思索、實作才發現並沒有「想像的困難」,大約一個半小時測試完成!
主要檢查該組任一組員資料庫中簽到欄位是否為空白,以一個 boolean 來代表。若空白則可簽到,非空白則提示「重複簽到」,且不寫入新時間。
若任一組員已簽到,則不可再使用全組簽到!
增補的部分如下。
--- omit ---
//確認是否重複簽到
String strsqlchk050="SELECT "+expnameup +" FROM "+ expclass+" WHERE name='"+teamname[0]+"'";
String strsqlchk051="SELECT "+expnameup +" FROM "+ expclass+" WHERE name='"+teamname[1]+"'";
String strsqlchk052="SELECT "+expnameup +" FROM "+ expclass+" WHERE name='"+teamname[2]+"'";
ResultSet rschk050=beanMysql.getResultSet(strsqlchk050);
ResultSet rschk051=beanMysql.getResultSet(strsqlchk051);
ResultSet rschk052=beanMysql.getResultSet(strsqlchk052);
boolean rschk=true;//尚未有資料
if(rschk050.next()){
if(!rschk050.getString(1).equals(" ")){
rschk=false;//該組第一人已經填有資料
}
}
if(rschk051.next()){
if(!rschk051.getString(1).equals(" ")){
rschk=false;//該組第二人已經填有資料
}
if(rschk052.next()){
if(!rschk052.getString(1).equals(" ")){
rschk=false;//該組第二人已經填有資料
}
}
--- omit ---
if(asspw!=true || ipcheck!=true || rschk!=true){ //密碼、IP、重複簽到檢查
--- omit ---
}else if(rschk!=true){
out.println("<br><center><h1>"); //第一位已簽到
out.println("<font color=red> 重複簽到 </font></h1><hr>");
out.println("<small> < < <a href='javascript:history.back()'>"+ "回到簽到頁 </a></small>");
out.println("</center>");
}
}
--- omit ---
沒有留言:
張貼留言