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

📄 select.cs

📁 一个简单的考生答题系统
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Collections;
using System.Data;
using System.Windows.Forms;
namespace Myschool
{
    class Select
    {
        private static SqlCommand comm = null;//命令对象
        private static string sql="";//sql语句
        private static int i = 0;//保存科目的编号
        /// <summary>
        /// 得到科目的编号
        /// </summary>
        /// <param name="subject"></param>
        /// <returns></returns>
        public static int SelectSubject(string subject){
            int j = 0;
            try
            {
                comm = Connect.conn.CreateCommand();
                Connect.conn.Open();
                 sql = string.Format("select subid from subject where subname='{0}'", subject);
                comm.CommandText = sql;
                j = Convert.ToInt32(comm.ExecuteScalar());
                return j;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally {
                Connect.conn.Close();
            }
            return j;
        }
        /// <summary>
        /// 存储题目的方法
        /// </summary>
        /// <param name="subject"></param>
        /// <returns></returns>
        public static ArrayList Title(string subject,int queid)
        {
            ArrayList arr = new ArrayList();
            i = SelectSubject(subject);//得到科目编号
            sql = string.Format("select quecontent,OptionA,OptionB,OptionC,OptionD from question where subjectid={0} and queid={1}", i, queid);
            try
            {
                //创建数据集对象
                comm = Connect.conn.CreateCommand();
                Connect.conn.Open();
                comm.CommandText = sql;
                SqlDataReader read = comm.ExecuteReader();
                if (read.Read() && !read.IsClosed)
                {
                    arr.Add(read["quecontent"].ToString());
                    arr.Add(read["OptionA"].ToString());
                    arr.Add(read["OptionB"].ToString());
                    arr.Add(read["OptionC"].ToString());
                    arr.Add(read["OptionD"].ToString());
                }
                else {
                    Console.WriteLine("没了");
                    read.Close();
                }
                return arr;
                
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally {
                if (Connect.conn.State == ConnectionState.Open) {
                    Connect.conn.Close();
                }
            }
            return arr;
        }
        /// <summary>
        /// 添加数据到ListView中
        /// </summary>
        /// <param name="liv"></param>
        /// <param name="subject"></param>
        /// <returns></returns>
        public static void addcontent(ListView liv,string subject) {
            i = SelectSubject(subject);//得到科目编号
            sql = string.Format("select * from question where subjectid={0}",i);
            try
            {
                SqlDataAdapter data = new SqlDataAdapter(sql, Connect.conn);
                DataSet da = new DataSet("exam");
                data.Fill(da,"question");//填充数据集
                foreach (DataRow row in da.Tables["question"].Rows)
                {
                    ListViewItem item = liv.Items.Add(row["quecontent"].ToString());
                    item.SubItems.Add(row["OptionA"].ToString());
                    item.SubItems.Add(row["OptionB"].ToString());
                    item.SubItems.Add(row["OptionC"].ToString());
                    item.SubItems.Add(row["OptionD"].ToString());
                    item.SubItems.Add(row["Answer"].ToString());
                    item.SubItems.Add(row["difficutly"].ToString());
                }
               
            }
            catch (Exception)
            {

                throw;
            }
            finally {
                Connect.conn.Close();
            }
            
        }
      /// <summary>
      /// 得到问题的编号
      /// </summary>
      /// <param name="subject"></param>
      /// <returns></returns>
        public static void getqueId(string subject,ref int [] queid,ref bool[] state)
        {
              i = SelectSubject(subject);//得到科目的编号
              int j = getCount(subject);
              int a = 0;
            try
            {
          
                comm = Connect.conn.CreateCommand();
                if (Connect.conn.State == ConnectionState.Closed)
                {
                    Connect.conn.Open();
                }
                sql = string.Format("select queid from question where subjectid={0}", i);
                comm.CommandText = sql;
                SqlDataReader read = comm.ExecuteReader();
                while (read.Read())
                {
                        queid[a] =Convert.ToInt32(read["queid"]);
                        state[a] = false;
                        a++;
                }
            }
            catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally {
                if (Connect.conn.State == ConnectionState.Open) {
                    Connect.conn.Close();
                }
            }
           
        }
        /// <summary>
        /// 得到选中的科目中的题目的总数量
        /// </summary>
        /// <returns></returns>
        public static int getCount(string subject) {
            i = SelectSubject(subject);
            int count = 0;//题目总数量的
            sql = string.Format("select count(*) from question where subjectid={0}", i);
            try
            {
                comm = Connect.conn.CreateCommand();
                if (Connect.conn.State == ConnectionState.Closed)
                {
                    Connect.conn.Open();
                }
                comm.CommandText = sql;
                count = Convert.ToInt32(comm.ExecuteScalar());
            }
            catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally {
                if (Connect.conn.State == ConnectionState.Open)
                {
                    Connect.conn.Close();
                }
            }
            return count;
        }
        /// <summary>
        ///得到正确答案 
        /// </summary>
        /// <param name="queid"></param>
        /// <param name="state"></param>
        /// <param name="Anser"></param>

        public static void SelectAnswer()
        {
            int j = 0;
            foreach (int i in QueHelp.allQuestionid)
            {
                sql = string.Format("select Answer from question where queid={0}",i);
                SqlDataAdapter da = new SqlDataAdapter(sql, Connect.conn);
                DataSet ds = new DataSet("exam");
                da.Fill(ds, "Question");//填充数据集
                foreach (DataRow row in ds.Tables["question"].Rows)
                {
                    QueHelp.Answer[j] = row["Answer"].ToString();
                    QueHelp.studentAnswers[j] = "未回答";
                    j++;
                }
            }
        }
       
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -