在线考试系统随机抽题答题整理部分代码

//登陆页面验证码代码

  private string RndNum(int VcodeNum)
    {
        string MaxNum = "";
        string MinNum = "";
        for (int i = 0; i < 5; i++)//这里的4是验证码的位数
        {
            MaxNum = MaxNum + "5";
        }
        MinNum = MaxNum.Remove(0, 1);
        Random rd = new Random();
        string VNum = Convert.ToString(rd.Next(Convert.ToInt32(MinNum), Convert.ToInt32(MaxNum)));
        return VNum;
    }

//在线考试系统公共类的设计代码

public class BaseClass
{
 public BaseClass()
 {
  //
  // TODO: 在此处添加构造函数逻辑
  //
 }
    public static SqlConnection DBCon()    建立数据库的公共方法
    {
        return new SqlConnection("server=.;database=db_ExamOnline;uid=sa;pwd=123456");
    }

    public static void BindDG(GridView dg, string id, string strSql, string Tname)
    {
        SqlConnection conn = DBCon();   //连接数据库
        SqlDataAdapter sda = new SqlDataAdapter(strSql, conn);
        DataSet ds = new DataSet();
        sda.Fill(ds, Tname);
        dg.DataSource = ds.Tables[Tname];
        dg.DataKeyNames = new string[] { id };
        dg.DataBind();
    }
    public static void OperateData(string strsql)   //建立一个执行sql语句的方法
    {
        SqlConnection conn = DBCon();
        conn.Open();
        SqlCommand cmd = new SqlCommand(strsql, conn);
        cmd.ExecuteNonQuery();
        conn.Close();
    }
    //================如果是学生登录=========================================
    public static bool CheckStudent(string studentNum, string studentPwd)
    {
        SqlConnection conn = DBCon();
        conn.Open();
        SqlCommand cmd = new SqlCommand("select count(*) from tb_Student where StudentNum='" + studentNum + "' and StudentPwd='" + studentPwd + "'", conn);
        int i = Convert.ToInt32(cmd.ExecuteScalar());   //返回值
        if (i > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
        conn.Close();
    }
    //================如果是教师登录=========================================
    public static bool CheckTeacher(string teacherNum, string teacherPwd)
    {
        SqlConnection conn = DBCon();
        conn.Open();
        SqlCommand cmd = new SqlCommand("select count(*) from tb_Teacher where TeacherNum='" + teacherNum + "' and TeacherPwd='" + teacherPwd + "'", conn);
        int i = Convert.ToInt32(cmd.ExecuteScalar());
        if (i > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
        conn.Close();
    }
    //================如果是管理员登录=========================================
    public static bool CheckAdmin(string adminNum, string adminPwd)
    {
        SqlConnection conn = DBCon();
        conn.Open();
        SqlCommand cmd = new SqlCommand("select count(*) from tb_Admin where AdminNum='" + adminNum + "' and adminPwd='" + adminPwd + "'", conn);
        int i = Convert.ToInt32(cmd.ExecuteScalar());
        if (i > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
        conn.Close();
    }
}

//随机抽题答题代码

public partial class student_StartExam : System.Web.UI.Page
{
    public string Ans = null;
    public int tNUM;
    protected void Page_Load(object sender, EventArgs e)
    {
            lblEndtime.Text = "考试时间为10分钟,每小题2分,考试已用时:";
            lblStuNum.Text = Session["ID"].ToString();
            lblStuName.Text = Session["name"].ToString();
            lblStuSex.Text = Session["sex"].ToString();
            lblStuKM.Text = "[" + Session["KM"].ToString() + "]" + "考试试题";
            int i = 1;
            SqlConnection conn = BaseClass.DBCon();
            conn.Open();

            //从数据表中随机抽取十条数据
            SqlCommand cmd = new SqlCommand("select top 10 * from tb_test where testCourse='" + Session["KM"].ToString() + "' order by newid()", conn);

             SqlDataReader sdr = cmd.ExecuteReader();
            while (sdr.Read())
            {

                Literal littxt = new Literal();   创建literal 控件
                Literal litti = new Literal();
                RadioButtonList cbk = new RadioButtonList();
                cbk.ID = "cbk" + i.ToString();
                littxt.Text = i.ToString() + "、" + Server.HtmlEncode(sdr["testContent"].ToString()) + "<br><Blockquote>";
                litti.Text = "</Blockquote>";
                cbk.Items.Add("A. " + Server.HtmlEncode(sdr["testAns1"].ToString()));  //添加A,B,C,D选项
                cbk.Items.Add("B. " + Server.HtmlEncode(sdr["testAns2"].ToString()));
                cbk.Items.Add("C. " + Server.HtmlEncode(sdr["testAns3"].ToString()));
                cbk.Items.Add("D. " + Server.HtmlEncode(sdr["testAns4"].ToString()));
                cbk.Font.Size = 11;
                for (int j = 1; j <= 4; j++)
                {
                    cbk.Items[j - 1].Value = j.ToString();
                }
                Ans += sdr[6].ToString();
                if (Session["a"] == null)
                {
                    Session["Ans"] = Ans;
                }
                Panel1.Controls.Add(littxt);  //将控件添加到Panel中
                Panel1.Controls.Add(cbk);
                Panel1.Controls.Add(litti);
                i++;
                tNUM++;
            }
            sdr.Close();
            conn.Close();
            Session["a"] = 1;
    }
    protected void btnsubmit_Click(object sender, EventArgs e)
    {
        string msc = "";
        for (int i = 1; i <= tNUM; i++)
        {
            RadioButtonList list = (RadioButtonList)Panel1.FindControl("cbk" + i.ToString());
            if (list != null)
            {
                if (list.SelectedValue.ToString() != "")
                {

                    msc += list.SelectedValue.ToString();
                }
                else
                {
                    msc += "0";
                }
            }
        }
        Session["Sans"] = msc;//考生答案
        string sql = "update tb_score set RigthAns='" + Ans + "' where StudentID='" + lblStuNum.Text + "'";
        BaseClass.OperateData(sql);
        string strsql = "update tb_score set StudentAns='" + msc + "' where StudentID='" + lblStuNum.Text + "'";
        BaseClass.OperateData(strsql);
        Response.Redirect("result.aspx?BInt=" + tNUM.ToString());
    }
}

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随机抽题考试系统是一个基于ASP的应用程序,它可以实现自动随机抽取试题并进行考试。 系统的源代码包括以下几个关键模块: 1. 用户模块:用户可以通过注册和登录功能使用系统。在注册过程中,用户需要提供用户名、密码等基本信息,并进行验证。登录后,用户可以进行题目浏览、考试操作等。 2. 题库模块:系统中包含一系列的题库,每个题库包括多个试题。试题可以按照不同的分类进行管理,如科目、难度等。管理员可以通过后台管理功能添加、删除和修改题目。 3. 随机抽题模块:系统可以根据用户的需求,随机抽取试题进行考试。该模块保证了每次抽题都是不同的,并且题目数量和答题时间可以根据需求进行设置。 4. 考试模块:系统提供了考试页面,用户可以在指定时间内完成试卷答题。系统会自动计算用户的得分,并记录用户的答题结果。 5. 成绩管理模块:系统可以对用户考试成绩进行管理和统计。管理员可以查看用户的成绩情况,并导出成绩报表。 系统的实现过程中,需要注意以下几个关键点: 1. 数据库设计:需要设计用户表、题库表、题目表和成绩表等数据库表结构,以便于实现系统的各个功能。 2. 随机抽题算法:需要设计一定的算法来实现随机抽题的功能,以确保每次考试都是随机的,并且适当控制题目数量。 3. 用户身份验证:需要对用户的身份进行验证,以确保只有合法用户才能使用系统。 4. 前端展示:需要设计合适的界面和交互效果,方便用户进行试题浏览和答题操作。 总结起来,随机抽题考试系统asp源代码的实现包括用户模块、题库模块、随机抽题模块、考试模块和成绩管理模块等,关注用户身份验证、数据库设计、随机抽题算法和前端展示等关键点。这个系统可以方便地进行试题的抽取和考试,为用户提供了一个便捷的学习和评估工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值