📄 operateandvalidate.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 + -