package com.wgh.dao;
import com.wgh.actionForm.StudentForm;
import com.wgh.core.ChStr;
import com.wgh.core.ConnDB;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.*;
import java.text.NumberFormat;
public class StudentDAO {
private ConnDB conn=new ConnDB();
private ChStr chStr=new ChStr();
//考生身份验证
public int checkStudent(StudentForm studentForm) {
int flag = 1;
String sql = "SELECT * FROM tb_student where ID='" +
studentForm.getID()+ "'";
ResultSet rs = conn.executeQuery(sql);
try {
if (rs.next()) {
String pwd = studentForm.getPwd();
if (pwd.equals(rs.getString(3))) {
rs.last();
int rowSum = rs.getRow(); //获取记录总数
rs.first();
if (rowSum!=1) {
flag = 2;
System.out.print("获取row的值:" + sql + rowSum);
}
} else {
flag = 2;
}
}else{
flag = 2;
}
} catch (Exception ex) {
flag = 2;
System.out.println(ex.getMessage());
}
return flag;
}
//添加数据
public String insert(StudentForm s) {
String sql1="SELECT * FROM tb_student WHERE cardNo='"+s.getCardNo()+"'";
ResultSet rs = conn.executeQuery(sql1); //执行SQL查询语句
String sql = "";
String falg = "miss"; //用于记录返回信息的变量
String ID="";
try {
if (rs.next()) { //假如存在记录
falg="re"; //表示考生信息已经注册
} else {
/*****************自动生成准考证号***********************************************/
String sql_max="SELECT max(ID) FROM tb_student";
ResultSet rs_max=conn.executeQuery(sql_max); //查询最大的准考证号
java.util.Date date=new java.util.Date(); //实例化java.util.Date()类
String newTime=new SimpleDateFormat("yyyyMMdd").format(date); //格式化当前日期
if(rs_max.next()){
String max_ID=rs_max.getString(1); //获取最大的准考证号
int newId=Integer.parseInt(max_ID.substring(10,16))+1;//取出最大准考证号中的数字编号+1
String no=chStr.formatNO(newId,6); //将生成的编号格式化为6位
ID="CN"+newTime+no; //组合完整的准考证号
}else{ //当第一个考生注册时
ID="CN"+newTime+"000001"; //生成第一个准考证号
}
/********************************************************************************/
sql = "INSERT INTO tb_student (ID,name,pwd,sex,question,answer,profession,cardNo) values('" +
ID+ "','" +s.getName() +"','"+s.getPwd()+"','"+s.getSex()+"','"+s.getQuestion()+
"','"+s.getAnswer()+"','"+s.getProfession()+"','"+s.getCardNo()+"')";
int ret= conn.executeUpdate(sql); //保存考生注册信息
if(ret==0){
falg="miss"; //表示考生注册失败
}else{
falg="恭喜您,注册成功!\\r请记住您的准考证号:"+ID; //返回生成的准考证号
}
conn.close(); //关闭数据库连接
}
} catch (Exception e) {
falg="miss";
System.out.println("添加考生信息时的错误信息:"+e.getMessage()); //输出错误提示信息到控制台
}
return falg;
}
//查询方法
public List query(String id) {
List studentList = new ArrayList();
StudentForm studentForm1 = null;
String sql="";
if(id==null ||id.equals("")){
sql = "SELECT * FROM tb_student ORDER BY joinTime DESC";
}else{
sql = "SELECT * FROM tb_student WHERE id='" +id+ "'";
}
ResultSet rs = conn.executeQuery(sql);
try {
while (rs.next()) {
studentForm1 = new StudentForm();
studentForm1.setID(rs.getString(1));
studentForm1.setName(rs.getString(2));
studentForm1.setPwd(rs.getString(3));
studentForm1.setSex(rs.getString(4));
studentForm1.setJoinTime(java.text.DateFormat.getDateTimeInstance().parse(rs.getString(5)));
studentForm1.setQuestion(rs.getString(6));
studentForm1.setAnswer(rs.getString(7));
studentForm1.setProfession(rs.getString(8));
studentForm1.setCardNo(rs.getString(9));
studentList.add(studentForm1);
}
} catch (Exception ex) {}
return studentList;
}
//修改考生资料
public int update(StudentForm s){
String sql="UPDATE tb_student SET pwd='"+s.getPwd()+"',sex='"+s.getSex()+"',question='"+s.getQuestion()+"',answer='"+s.getAnswer()+"',profession='"+s.getProfession()+"' where ID='"+s.getID()+"'";
int ret=conn.executeUpdate(sql);
System.out.println("修改考生资料时的SQL:"+sql);
conn.close();
return ret;
}
//找回密码(第一步)
public StudentForm seekPwd1(StudentForm s){
String sql="SELECT * FROM tb_student WHERE ID='"+s.getID()+"'";
ResultSet rs = conn.executeQuery(sql);
try {
if (rs.next()) {
s.setID(rs.getString(1));
s.setQuestion(rs.getString(6));
}else{
s.setID("");
}
}catch(Exception e){
System.out.println("找回密码(第一步)出现的错误信息:"+e.getMessage());
}
return s;
}
// 找回密码(第二步)
public StudentForm seekPwd2(StudentForm s){
String sql="SELECT * FROM tb_student WHERE ID='"+s.getID()+"'";
System.out.println("SQL"+sql);
ResultSet rs = conn.executeQuery(sql);
try {
if (rs.next()) {
String ID=rs.getString(1);
String pwd=rs.getString(3);
String answer=rs.getString(7);
if(answer.equals(s.getAnswer())){
s.setID(ID);
s.setPwd(pwd);
System.out.println("密码:"+pwd);
}else{
s.setID("");
}
}
}catch(Exception e){
System.out.println("找回密码(第二步)出现的错误信息:"+e.getMessage());
}
return s;
}
// 删除数据
public int delete(StudentForm studentForm) {
int flag=0;
String[] delId=studentForm.getDelIdArray();
if (delId.length>0){
String id="'";
for(int i=0;i<delId.length;i++){
id=id+delId[i]+"','";
}
id=id.substring(0,id.length()-2);
String sql = "DELETE FROM tb_student where id in (" + id +")";
System.out.println("删除时的SQL:"+sql);
flag = conn.executeUpdate(sql);
conn.close();
}else{
flag=0;
}
return flag;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
JSP+SQL2000网络在线考试
共151个文件
jsp:50个
class:26个
java:26个
需积分: 3 57 下载量 54 浏览量
2008-12-22
08:57:43
上传
评论
收藏 1.93MB RAR 举报
温馨提示
JSp+SQL2000开发的网络在线考试系统,调试成功后的系统
资源推荐
资源详情
资源评论
收起资源包目录
JSP+SQL2000网络在线考试 (151个子文件)
StartExam.class 7KB
StudentDAO.class 7KB
QuestionsDAO.class 6KB
StartExamDAO.class 5KB
Student.class 5KB
QuestionsForm.class 5KB
TaoTiDAO.class 4KB
Manager.class 4KB
LessonDAO.class 4KB
Questions.class 4KB
Lesson.class 4KB
TaoTi.class 4KB
ManagerDAO.class 4KB
ConnDB.class 3KB
StuResultDAO.class 3KB
StudentForm.class 3KB
StuResult.class 2KB
ChStr.class 2KB
StuResultForm.class 2KB
TaoTiForm.class 2KB
temp.class 1KB
LessonForm.class 1KB
ManagerForm.class 1KB
SelfRequestProcessor.class 933B
QueryResultIfForm.class 771B
MoreSelect.class 599B
style.css 2KB
Thumbs.db 90KB
readme.doc 862KB
seedPwd.gif 3KB
step3.gif 1KB
step2.gif 1KB
step1.gif 1KB
add.gif 587B
f_ico.gif 173B
m_ico.gif 65B
m_ico1.gif 59B
bg_01.gif 49B
StudentDAO.java 7KB
StartExam.java 7KB
QuestionsDAO.java 6KB
Student.java 5KB
StartExamDAO.java 5KB
Questions.java 4KB
LessonDAO.java 4KB
Manager.java 4KB
TaoTiDAO.java 4KB
TaoTi.java 4KB
QuestionsForm.java 4KB
Lesson.java 3KB
ManagerDAO.java 3KB
ConnDB.java 3KB
StuResultDAO.java 3KB
StudentForm.java 2KB
StuResult.java 2KB
StuResultForm.java 1KB
TaoTiForm.java 1KB
ChStr.java 1KB
LessonForm.java 870B
temp.java 760B
ManagerForm.java 682B
SelfRequestProcessor.java 531B
QueryResultIfForm.java 419B
MoreSelect.java 246B
default_mid.JPG 222KB
default_bottom.JPG 112KB
default_top.jpg 103KB
login_top.jpg 100KB
top_bg.jpg 95KB
m_top.jpg 87KB
login_bottom.jpg 77KB
m_login.jpg 75KB
login_mid.jpg 51KB
subBG.jpg 32KB
error.jpg 19KB
startExam_ico.jpg 18KB
startExam_rightTop.jpg 14KB
startExam_rightBottom.jpg 14KB
startExam_leftTop.jpg 14KB
startExam_leftBottom.jpg 14KB
startExam_bottom.jpg 13KB
startExam_top.jpg 13KB
startExam_right.jpg 13KB
startExam_left.jpg 13KB
function.js 2KB
AjaxRequest.js 1KB
onclock.JS 720B
startExam.jsp 9KB
questions_Modify.jsp 6KB
questions_Add.jsp 6KB
student_Modify.jsp 6KB
register.jsp 5KB
questions.jsp 5KB
taoTi.jsp 4KB
student.jsp 4KB
pwd_Modify.jsp 4KB
lesson.jsp 4KB
seekPwd1.jsp 3KB
index.jsp 3KB
main.jsp 3KB
共 151 条
- 1
- 2
资源评论
springside1
- 粉丝: 2
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python tkinter-08-盒子模型.ev4.rar
- Doozy UI Manager 2023
- 基于matlab实现夜间车牌识别程序(1).rar
- 基于matlab实现无线传感器网络无需测距定位算法matlab源代码 包括apit,dv-hop,amorphous在内的共7个
- 基于python的yolov5实现的旋转目标检测
- 基于matlab实现无线传感器网络 CAB定位仿真程序 这是无线传感器节点定位CAB算法的仿真程序,由matlab完成.rar
- 基于matlab实现图像处理,本程序使用背景差分法对来往车辆进行检测和跟踪.rar
- 基于matlab实现视频监控中车型识别代码,自己写的,希望和大家多多交流.rar
- springcodespringcodespringcodespringcode
- 基于matlab实现权值的MAXDEV无线传感器网络定位算法研究 MAXDEV 无线传感器 定位 算法.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功