📄 web158_com_server.java
字号:
else
{
return "noexit";
}
}
catch(Exception e)
{
System.out.print(e.getMessage());
txtinfo.setText("在查询考生信息是否存在时操作数据库失败");
return "error";
}
}
//生成试卷
public boolean createExam(String id)
{
ResultSet rs=null;
//要生成的sql语句
String sql="";
int i=1;
//如果数据库中存在要选的题数
if(getExamNum("stu_question_choose")<choose_num||getExamNum("stu_question_operation")<operate_num)
{
System.out.print(getExamNum("stu_question_choose"));
System.out.print(getExamNum("stu_question_operation"));
if(alertnotgo==false)
{
txtinfo.setText("题库存量不足,不能考试");
}
return false;
}
try
{
sql="select top "+choose_num+" * from stu_question_choose order by newid()";
//txtinfo.setText(txtinfo.getText()+"\n生成选择的sql"+sql);
delTemp();
rs=db.getResult(sql);
while(rs.next())
{
//System.out.println(rs.getString(2));
//生成试卷
sql="insert into exam (id,question,a,b,c,d,answer) values("+i+",'"+rs.getString("question")+"','"+rs.getString("a")+"','"+rs.getString("b")+"','"+rs.getString("c")+"','"+rs.getString("d")+"','"+rs.getString("answer")+"')";
//插入不成功返回失败
if(!makeShijuan(sql))
{
return false;
}
//题ID加一
i++;
System.out.print(sql+"\n");
//txtinfo.setText(txtinfo.getText()+sql);
}
sql="select top "+operate_num+" * from stu_question_operation order by newid()";
//txtinfo.setText(txtinfo.getText()+"\n生成操作的sql"+sql);
rs=db.getResult(sql);
while(rs.next())
{
//System.out.println(rs.getString(2));
//生成试卷
sql="insert into operate (id,question) values("+i+",'"+rs.getString("question")+"')";
//插入不成功返回失败
if(!makeShijuan(sql))
{
return false;
}
//题ID加一
i++;
System.out.print(sql+"\n");
//txtinfo.setText(txtinfo.getText()+sql);
}
db.Close();
return true;
}catch(Exception e)
{
db.Close();
System.out.print(e.getMessage());
txtinfo.setText(txtinfo.getText()+"在随机生成试卷时操作数据库失败");
return false;
}
}//end of createExam
//向临时表添加试题
public boolean makeShijuan(String sql)
{
String driver="sun.jdbc.odbc.JdbcOdbcDriver";
String dbUrl="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=web158_com_config/temp.dll";
Statement stmt=null;
Connection conn=null;
//加载驱动
//**************************
try
{
Class.forName(driver);
}
catch(java.lang.ClassNotFoundException nofound)
{
System.err.println(nofound.getMessage());
txtinfo.setText(txtinfo.getText()+"生成试卷Access驱动错误");
txtinfo.setText(txtinfo.getText()+"生成试卷的SQL"+sql);
return false;
}
//开始添加试题
//**********************************
try{
conn=DriverManager.getConnection(dbUrl,"web158.com","web158.com");
stmt=conn.createStatement();
//清空原来题
//stmt.executeUpdate("delete from exam ");
stmt.executeUpdate(sql);
//关闭连接
stmt.close();
conn.close();
return true;
}
catch(Exception ef)
{
txtinfo.setText("随机生成考生试卷时操作临时数据库失败");
return false;
}
finally
{
try
{
stmt.close();
conn.close();
}catch(Exception ef)
{}
}
}
//删除临时表
public boolean delTemp()
{
String driver="sun.jdbc.odbc.JdbcOdbcDriver";
String dbUrl="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=web158_com_config/temp.dll";
Statement stmt=null;
Connection conn=null;
//加载驱动
//**************************
try
{
Class.forName(driver);
}
catch(java.lang.ClassNotFoundException nofound)
{
System.err.println(nofound.getMessage());
return false;
}
//开始添加试题
//**********************************
try{
conn=DriverManager.getConnection(dbUrl,"web158.com","web158.com");
stmt=conn.createStatement();
//清空原来题
stmt.executeUpdate("delete from exam ");
stmt.executeUpdate("delete from operate ");
//关闭连接
stmt.close();
conn.close();
return true;
}//有错误
catch(Exception ef)
{
txtinfo.setText(ef.getMessage());
return false;
}//最后
finally
{
try
{
stmt.close();
conn.close();
}catch(Exception ef)
{
}
}
}
//更新已经取走试卷的学生
public boolean updateStuGet(String id)
{
try
{
boolean upok=db.executeSql("update stu_list set examed='true' where stuid='"+id+"'");
db.Close();
if(upok)
{
return true;
}
else
{
return false;
}
}catch(Exception ef)
{
db.Close();
System.out.print(ef.getMessage());
txtinfo.setText("在更新领取试卷学生信息时操作数据库失败");
return false;
}
}
//更新已经取走试卷的学生
public boolean updateSubmit(String id)
{
//System.out.println("update stu_list set submited='true' where stuid='"+id+"'");
try
{
boolean upok=db.executeSql("update stu_list set submited='true' where stuid='"+id+"'");
db.Close();
if(upok)
{
return true;
}
else
{
return false;
}
}catch(Exception ef)
{
db.Close();
System.out.print(ef.getMessage());
txtinfo.setText("在更新提交试卷学生信息时操作数据库失败");
return false;
}
}
//更新学生成绩表
//更新已经取走试卷的学生
public String updateScore(String id,String score)
{
try
{
String sql="update stu_list set stuscore="+score+" where stuid='"+id+"'";
//System.out.println(sql);
boolean upok=db.executeSql(sql);
db.Close();
if(upok)
{
//System.out.println("更新成功");
return "true";
}
else
{
return "false";
}
}catch(Exception ef)
{
db.Close();
System.out.print(ef.getMessage());
txtinfo.setText("在更新学生选择题成绩时操作数据库失败");
return "false";
}
}
//查看数据库中有多少条记录
public int getExamNum(String examclass)
{
try
{
int num=0;
ResultSet rs=db.getResult("select * from "+examclass+"");
if(rs.next())
{
rs.last();
//取得记录数
num = rs.getRow();
}
db.Close();
return num;
}catch(Exception ef)
{
db.Close();
System.out.print(ef.getMessage());
txtinfo.setText("在查看数据中存在多少条记录时失败");
return 0;
}
}
//跳转到考生信息面板
void goStuinfo()
{
//添加主体
web158_com_Cpanel.removeAll();
web158_com_Cpanel.add(stulist);
web158_com_Cpanel.repaint();
web158_com_Cpanel.validate();
}
//跳转到试题面板
void goExaminfo()
{
//添加主体
web158_com_Cpanel.removeAll();
//web158_com_Cpanel.add(stulist);
web158_com_Cpanel.repaint();
web158_com_Cpanel.validate();
}
//跳转到配置参数面板
void goInfoinfo()
{
//添加主体
web158_com_Cpanel.removeAll();
//web158_com_Cpanel.add(stulist);
web158_com_Cpanel.repaint();
web158_com_Cpanel.validate();
}
//跳转到帮助面板
void goHelpinfo()
{
//添加主体
web158_com_Cpanel.removeAll();
//web158_com_Cpanel.add(stulist);
web158_com_Cpanel.repaint();
web158_com_Cpanel.validate();
}
}
//程序入口
public class Web158_Com_Server {
//点位
static Point origin = new Point();
//主入口
public static void main(String[] args) {
//创建窗口对象
final web158_frame frame=new web158_frame();
//添加窗口移动事件
frame.addMouseListener (new MouseAdapter() {
public void mousePressed(MouseEvent e) {
origin.x = e.getX();origin.y = e.getY();
}
});//end of frame.addMouseListener ()
//可以拖动
frame.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent e) {
Point p = frame.getLocation();
frame.setLocation(p.x + e.getX() - origin.x, p.y + e.getY() - origin.y );
}
});//end of frame.addMouseMotionListener()
frame.web158_com_help.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
frame.setExtendedState(Frame.ICONIFIED|frame.getExtendedState());
}
});
//窗口移动事件完毕
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -