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

📄 operateandvalidate.cs

📁 程序设计语言上机考试系统
💻 CS
字号:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Text.RegularExpressions;
using System.Windows.Forms;


namespace WindowsApplication1.baseclass
{
    class OperateAndValidate
    {
        BaseOperate boperate = new BaseOperate();//声明BaseOperate类的一个对象,以调用其方法
        #region  绑定ComboBox控件
        /// <summary>
        /// 对ComboBox控件进行数据绑定
        /// </summary>
        /// <param name="P_str_sqlstr">SQL语句</param>
        /// <param name="P_str_table">表名</param>
        /// <param name="P_str_tbMember">数据表中字段名</param>
        /// <param name="cbox">ComboBox控件ID</param>
        public void cboxBind(string P_str_sqlstr, string P_str_table, string P_str_tbMember, ComboBox cbox)
        {
            DataSet myds = boperate.getds(P_str_sqlstr, P_str_table);
            cbox.DataSource = myds.Tables[P_str_table];
            cbox.DisplayMember = P_str_tbMember;
            cbox.DataSource = myds.Tables[0].DefaultView;
        }
        #endregion
        #region  自动编号
        /// <summary>
        /// 自动编号
        /// </summary>
        /// <param name="P_str_sqlstr">SQL语句</param>
        /// <param name="P_str_table">数据表名</param>
        /// <param name="P_str_tbColumn">数据表字段</param>
        /// <param name="P_str_codeIndex">编号前的字符串</param>
        /// <param name="P_str_codeNum">编号后面的数字</param>
        /// <param name="txt">TextBox控件名</param>
        public void autoNum(string P_str_sqlstr, string P_str_table, string P_str_tbColumn, string P_str_codeIndex, string P_str_codeNum, TextBox txt)
        {
            string P_str_Code = "";
            int P_int_Code = 0;
            DataSet myds = boperate.getds(P_str_sqlstr, P_str_table);
            if (myds.Tables[0].Rows.Count == 0)
            {
                txt.Text = P_str_codeIndex + P_str_codeNum;
            }
            else
            {
                //取出数据库中最大编号
                string sql = "select max(" + P_str_tbColumn + ") from " + P_str_table ;
                SqlConnection cn = boperate.getcon();
                SqlCommand cmd = new SqlCommand(sql,cn);
                if (cn.State == ConnectionState.Closed)
                    cn.Open();
                P_str_Code = cmd.ExecuteScalar().ToString();
                P_int_Code = Convert.ToInt32(P_str_Code.Substring(1, 7)) + 1;
                P_str_Code = P_str_codeIndex + P_int_Code.ToString();
                txt.Text = P_str_Code;
                if (cn.State == ConnectionState.Open)
                    cn.Close();
            }
        }
        #endregion
        
        #region  验证输入字符串整数
        /// <summary>
        /// 验证输入字符串整数
        /// </summary>
        /// <param name="P_str_num">输入字符</param>
        /// <returns>返回一个bool类型的值</returns>
        public bool validateNum(string P_str_num)
        {
            return Regex.IsMatch(P_str_num, @"^[+]?\d+$");
        }
        #endregion
        
        
        #region  验证输入字符串只能输入数字
        /// <summary>
        /// 验证输入字符串只能输入数字
        /// </summary>
        /// <param name="P_str_num">输入字符</param>
        /// <returns>返回一个bool类型的值</returns>
        public bool validateNumOnly(string P_str_num)
        {
            return Regex.IsMatch(P_str_num, @"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$" );
        }
        #endregion
        
        
        #region 统计试题总分
        public void countmark()
        {
            decimal mark = 0;
            DataSet myds = boperate.getds("select s_number from student ", "student");
            DataTable dt = myds.Tables[0];
            foreach (DataRow row in dt.Rows)
            {
                DataSet myds1 =
                    boperate.getds(
                        "select score from paper where s_number ='" + row["s_number"].ToString() + "'and types ='" + "A" +
                        "'", "paper");
                foreach (DataRow row1 in myds1.Tables[0].Rows)
                {
                    mark += Convert.ToDecimal(row1["score"].ToString());
                }
                //将选择题成绩添加到marks表中
                boperate.getcom("insert into marks(s_number,A) values('" + row["s_number"].ToString() + "','" + mark + "')");
                //----------------------------------------------------------------------------------------------
                //----------------------------------------------------------------------------------------------
                mark = 0; //成绩清零
                myds1 = boperate.getds(
                        "select score from paper where s_number ='" + row["s_number"].ToString() + "'and types ='" + "B" +
                        "'", "paper");
                foreach (DataRow row1 in myds1.Tables[0].Rows)
                {
                    mark += Convert.ToDecimal(row1["score"].ToString());
                }
                //将判断题成绩添加到marks表中
                boperate.getcom("update marks set B = '" + mark + "'where s_number ='" + row["s_number"].ToString() + "')");
                //----------------------------------------------------------------------------------------------
                //----------------------------------------------------------------------------------------------
                mark = 0; //成绩清零
                myds1 = boperate.getds(
                        "select score from paper where s_number ='" + row["s_number"].ToString() + "'and types ='" + "C" +
                        "'", "paper");
                foreach (DataRow row1 in myds1.Tables[0].Rows)
                {
                    mark += Convert.ToDecimal(row1["score"].ToString());
                }
                //将判断题成绩添加到marks表中
                boperate.getcom("update marks set C = '" + mark + "'where s_number ='" + row["s_number"].ToString() + "')");
            }
        }
        #endregion

    }
}

⌨️ 快捷键说明

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