⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 web158_com_server.java

📁 java socket 网上在线考试系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    		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 + -