分层式 学生管理系统

来源:互联网 发布:德国关税的算法 编辑:程序博客网 时间:2024/05/18 14:11
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Data;  
  4. using System.Linq;  
  5. using System.Text;  
  6. using System.Threading.Tasks;  
  7. using MySchool.DAL;  
  8.   
  9. namespace MySchool.BLL  
  10. {  
  11.    public class GradeBLL  
  12.     {   
  13.        GradeDAL grade=new GradeDAL();  
  14.         //根据年纪名称获取年纪编号  
  15.        public int GetIdByName(string gradename)  
  16.        {  
  17.           return grade.GetIdByName(gradename);  
  18.        }  
  19.         //获取所有年纪信息  
  20.        public  DataTable FindAllGrade()  
  21.        {  
  22.            return grade.FindAllGrade();  
  23.        }  
  24.         //显示所有学生信息  
  25.        public DataTable chuxun()  
  26.        {  
  27.            return grade.chuxun();  
  28.        }  
  29.          //年级查询  
  30.        public DataTable Chaxun1(string name)  
  31.        {  
  32.           return grade.Chaxun1(name);  
  33.        }  
  34.         //姓名查询  
  35.        public DataTable chaxun2(string name)  
  36.        {  
  37.            return grade.chaxun2(name);  
  38.        }  
  39.     }  
  40. }  
  41.   
  42. ///////////MySchool.BLL.cs
  43.   
  44. using System;  
  45. using System.Collections.Generic;  
  46. using System.Data;  
  47. using System.Linq;  
  48. using System.Text;  
  49. using System.Threading.Tasks;  
  50. using MySchool.DAL;  
  51. using MySchool.Model;  
  52.   
  53. namespace MySchool.BLL  
  54. {  
  55.     public class StudentBLL  
  56.     {  
  57.         private StudentDAL dal = new StudentDAL();  
  58.   
  59.         public bool IsLongin(string username, string pwd)  
  60.         {  
  61.             //登陆  
  62.             return dal.IsLongin(username, pwd);  
  63.         }  
  64.         //添加学生  
  65.         public bool AddStudent(string LoginPwd, string StudentName, string Gender, int GradeId, string Phone,  
  66.             string Address, DateTime Birthday, string Email)  
  67.         {  
  68.             return dal.AddStudent(LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Email);  
  69.         }  
  70.         //删除  
  71.         public int shanchu(string shu)  
  72.         {  
  73.             return dal.shanchu(shu);  
  74.         }  
  75.         //查询  
  76.         public DataTable chuxnun3(string name)  
  77.         {  
  78.             return dal.chuxnun3(name);  
  79.         }  
  80.         //修改密码  
  81.         public bool xiugaimima(Student stu)  
  82.         {  
  83.             return dal.xiugaimima(stu);  
  84.         }  
  85.         //带参  
  86.         public DataTable get(string name, int gid, out int i)  
  87.         {           
  88.             return dal.get(name,gid, out i);  
  89.         }  
  90.     }  
  91. }  
  92.       
  93. //////////   MySchool.DAL.cs

  94. using SIM.DAL;  
  95. using System;  
  96. using System.Collections.Generic;  
  97. using System.Data;  
  98. using System.Data.SqlClient;  
  99. using System.Linq;  
  100. using System.Text;  
  101. using System.Threading.Tasks;  
  102.   
  103. namespace MySchool.DAL  
  104. {  
  105.     public class GradeDAL  
  106.     {  
  107.         //根据年纪名称获取年纪编号  
  108.         public int GetIdByNameAgo(string gradename)  
  109.         {  
  110.             string str = SqlHelper.Constr;  
  111.             SqlConnection con = new SqlConnection(str);  
  112.             string sql = "select gradeid from grade where gradename='" + gradename + "'";  
  113.             SqlCommand cmd = new SqlCommand(sql, con);  
  114.             con.Open();  
  115.             int gradeid = Convert.ToInt32(cmd.ExecuteScalar());  
  116.             con.Close();  
  117.             return gradeid;  
  118.         }  
  119.         public int GetIdByName(string gradename)  
  120.         {   
  121.             string sql = "select gradeid from grade where gradename='" + gradename + "'";              
  122.             int gradeid = Convert.ToInt32(SqlHelper.ExecuteScalar(sql));              
  123.             return gradeid;  
  124.         }    
  125.         //获取所有年纪信息  
  126.         public  DataTable FindAllGradeAgo()  
  127.         {  
  128.             string str = SqlHelper.Constr;  
  129.             SqlConnection con = new SqlConnection(str);  
  130.             string sql = "select gradeid,gradename from grade";  
  131.             DataSet ds = new DataSet();  
  132.             SqlDataAdapter da = new SqlDataAdapter(sql, con);  
  133.             da.Fill(ds, "GradeInfo");  
  134.             return ds.Tables["GradeInfo"];  
  135.         }    
  136.         public  DataTable FindAllGrade()  
  137.         {              
  138.             string sql = "select gradeid,gradename from grade";  
  139.            return SqlHelper.ExecuteDataTable(sql);                  
  140.         }    
  141.         //显示所有学生信息  
  142.         public DataTable chuxun()  
  143.         {  
  144.             string str = SqlHelper.Constr;  
  145.             SqlConnection con = new SqlConnection(str);  
  146.             string sql = @"select [StudentNo],[LoginPwd],[StudentName],[Gender],Grade.[GradeId],[GradeName],phone  
  147.                          from student,grade  
  148.                          where student.GradeId=Grade.GradeId";  
  149.             SqlDataAdapter sa = new SqlDataAdapter(sql, con);  
  150.             DataSet ds = new DataSet();  
  151.             sa.Fill(ds, "info");               
  152.             return ds.Tables["info"];  
  153.         }    
  154.         public DataTable chuxun1()  
  155.         {              
  156.             string sql = @"select [StudentNo],[LoginPwd],[StudentName],[Gender],Grade.[GradeId],[GradeName],phone  
  157.                          from student,grade  
  158.                          where student.GradeId=Grade.GradeId";  
  159.            return SqlHelper.ExecuteDataTable(sql);    
  160.         }  
  161.         //年级查询  
  162.         public DataTable Chaxun1Ago(string name)  
  163.         {  
  164.             string str = SqlHelper.Constr;  
  165.             SqlConnection con = new SqlConnection(str);  
  166.             con.Open();  
  167.             string sql = "select studentno,studentname,gender,birthday from student,grade where student.gradeid=grade.gradeid and grade.gradeid in (select gradeid from grade where gradename='" + name + "')";  
  168.             DataSet ds = new DataSet();  
  169.             SqlDataAdapter da = new SqlDataAdapter(sql, con);  
  170.             da.Fill(ds, "Studentlist");  
  171.             return ds.Tables["Studentlist"];  
  172.         }    
  173.         public DataTable Chaxun1(string name)  
  174.         {           
  175.             string sql = "select studentno,studentname,gender,birthday from student,grade where student.gradeid=grade.gradeid and grade.gradeid in (select gradeid from grade where gradename='" + name + "')";  
  176.             return SqlHelper.ExecuteDataTable(sql);  
  177.         }    
  178.         //姓名查询  
  179.         public DataTable chaxun2(string name)  
  180.         {  
  181.             string str = SqlHelper.Constr;  
  182.             SqlConnection con=new SqlConnection(str);  
  183.             con.Open();  
  184.             string sql = @"select  *  from Student,grade  where student.gradeid=grade.gradeid  
  185.                             and studentName like'%" + name + "%'";    
  186.             DataSet ds=new DataSet();  
  187.             SqlDataAdapter da=new SqlDataAdapter(sql,con);  
  188.             da.Fill(ds, "info");  
  189.             return ds.Tables["info"];    
  190.         }    
  191.         public DataTable chaxun2Ago(string name)  
  192.         {               
  193.             string sql = @"select  *  from Student,grade  where student.gradeid=grade.gradeid  
  194.                             and studentName like'%" + name + "%'";  
  195.             return SqlHelper.ExecuteDataTable(sql);  
  196.         }        
  197.     }             
  198. }  
  199.   
  200. ////////////////////   SIM.DAL .cs

  201. using System;  
  202. using System.Collections.Generic;  
  203. using System.Linq;  
  204. using System.Text;  
  205. using System.Data.SqlClient;  
  206. using System.Data;  
  207. using System.Configuration;  

  208. namespace SIM.DAL  
  209. {  
  210.     public static class SqlHelper  
  211.     {  
  212.       //用静态的方法调用的时候不用创建SQLHelper的实例  
  213.       //Execetenonquery  
  214.      // public static string Constr = "server=HAPPYPIG\\SQLMODEL;database=shooltest;uid=sa;pwd=6375196;";  
  215.         public static string Constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;  
  216.       public static int id;  
  217.       /// <summary>  
  218.       /// 执行NonQuery命令  
  219.       /// </summary>  
  220.       /// <param name="cmdTxt"></param>  
  221.       /// <param name="parames"></param>  
  222.       /// <returns></returns>  
  223.       public static int ExecuteNonQuery(string cmdTxt, params SqlParameter[] parames)  
  224.       {  
  225.           return ExecuteNonQuery(cmdTxt, CommandType.Text, parames);  
  226.       }  
  227.       //可以使用存储过程的ExecuteNonquery  
  228.       public static int ExecuteNonQuery(string cmdTxt, CommandType cmdtype, params SqlParameter[] parames)  
  229.       {  
  230.           //判断脚本是否为空 ,直接返回0  
  231.           if (string.IsNullOrEmpty(cmdTxt))  
  232.           {  
  233.               return 0;  
  234.           }  
  235.           using (SqlConnection con = new SqlConnection(Constr))  
  236.           {  
  237.               using (SqlCommand cmd = new SqlCommand(cmdTxt, con))  
  238.               {  
  239.                   if (parames != null)  
  240.                   {  
  241.                       cmd.CommandType = cmdtype;  
  242.                       cmd.Parameters.AddRange(parames);  
  243.                   }  
  244.                   con.Open();  
  245.                   return cmd.ExecuteNonQuery();  
  246.               }  
  247.           }  
  248.       }  
  249.       public static SqlDataReader ExecuteDataReader(string cmdTxt, params SqlParameter[] parames)  
  250.       {  
  251.           return ExecuteDataReader(cmdTxt, CommandType.Text, parames);  
  252.       }  
  253.       //SQLDataReader存储过程方法  
  254.       public static SqlDataReader ExecuteDataReader(string cmdTxt, CommandType cmdtype, params SqlParameter[] parames)  
  255.       {  
  256.           if (string.IsNullOrEmpty(cmdTxt))  
  257.           {  
  258.               return null;  
  259.           }  
  260.           SqlConnection con = new SqlConnection(Constr);    
  261.           using (SqlCommand cmd = new SqlCommand(cmdTxt, con))  
  262.           {  
  263.               cmd.CommandType = cmdtype;  
  264.               if (parames != null)  
  265.               {                      
  266.                   cmd.Parameters.AddRange(parames);  
  267.               }  
  268.               con.Open();  
  269.               //把reader的行为加进来。当reader释放资源的时候,con也被一块关闭  
  270.               return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);  
  271.           }    
  272.       }  
  273.       public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parames)  
  274.       {  
  275.           return ExecuteDataTable(sql, CommandType.Text, parames);  
  276.       }  
  277.       //调用存储过程的类,关于(ExecuteDataTable)  
  278.       public static DataTable ExecuteDataTable(string sql, CommandType cmdType, params SqlParameter[] parames)  
  279.       {  
  280.           if (string.IsNullOrEmpty(sql))  
  281.           {  
  282.               return null;  
  283.           }  
  284.           DataTable dt = new DataTable();  
  285.           using (SqlDataAdapter da = new SqlDataAdapter(sql, Constr))  
  286.           {  
  287.               da.SelectCommand.CommandType = cmdType;  
  288.               if (parames != null)  
  289.               {  
  290.                   da.SelectCommand.Parameters.AddRange(parames);  
  291.               }  
  292.               da.Fill(dt);  
  293.               return dt;  
  294.           }  
  295.       }        
  296.       /// <summary>  
  297.       /// ExecuteScalar  
  298.       /// </summary>  
  299.       /// <param name="cmdTxt">第一个参数,SQLServer语句</param>  
  300.       /// <param name="parames">第二个参数,传递0个或者多个参数</param>  
  301.       /// <returns></returns>  
  302.       public static object ExecuteScalar(string cmdTxt, params SqlParameter[] parames)  
  303.       {  
  304.           return ExecuteScalar(cmdTxt, CommandType.Text, parames);  
  305.       }  
  306.       //可使用存储过程的ExecuteScalar  
  307.       public static object ExecuteScalar(string cmdTxt, CommandType cmdtype, params SqlParameter[] parames)  
  308.       {  
  309.           if (string.IsNullOrEmpty(cmdTxt))  
  310.           {  
  311.               return null;  
  312.           }  
  313.           using (SqlConnection con = new SqlConnection(Constr))  
  314.           {  
  315.               using (SqlCommand cmd = new SqlCommand(cmdTxt, con))  
  316.               {  
  317.                   cmd.CommandType = cmdtype;  
  318.                   if (parames != null)  
  319.                   {  
  320.                       cmd.Parameters.AddRange(parames);  
  321.                   }  
  322.                   con.Open();  
  323.                 return   cmd.ExecuteScalar();  
  324.               }  
  325.           }              
  326.       }  
  327.       //调用存储过程的DBHelper类(关于ExeceutScalar,包含事务,只能处理Int类型,返回错误号)  
  328.       public static object ExecuteScalar(string cmdTxt, CommandType cmdtype,SqlTransaction sqltran, params SqlParameter[] parames)  
  329.       {  
  330.            if (string.IsNullOrEmpty(cmdTxt))  
  331.           {  
  332.               return 0;  
  333.           }  
  334.            using (SqlConnection con = new SqlConnection(Constr))  
  335.           {  
  336.               int sum = 0;  
  337.               using (SqlCommand cmd = new SqlCommand(cmdTxt, con))  
  338.               {  
  339.                   cmd.CommandType=cmdtype;  
  340.                   if (parames != null)  
  341.                   {  
  342.                       cmd.Parameters.AddRange(parames);  
  343.                   }  
  344.                   con.Open();  
  345.                   sqltran = con.BeginTransaction();  
  346.                   try  
  347.                   {  
  348.                       cmd.Transaction = sqltran;  
  349.                       sum=Convert.ToInt32( cmd.ExecuteScalar());  
  350.                       sqltran.Commit();  
  351.                   }  
  352.                   catch (SqlException ex)  
  353.                   {  
  354.                       sqltran.Rollback();  
  355.                   }  
  356.                   return sum;  
  357.               }  
  358.           }  
  359.       }  
  360.     }  
  361. }  
  362.   
  363. /////////////////  StudentDAL  .cs

  364. using SIM.DAL;  
  365. using System;  
  366. using System.Collections.Generic;  
  367. using System.Data;  
  368. using System.Data.SqlClient;  
  369. using System.Linq;  
  370. using System.Text;  
  371. using System.Threading.Tasks;  
  372. using  MySchool.Model;  
  373. namespace MySchool.DAL  
  374. {  
  375.     //数据访问层  
  376.     public class StudentDAL  
  377. {  
  378.         //添加学生  
  379.         public bool AddStudentAgo(string LoginPwd,string StudentName,string Gender,int GradeId, string   Phone, string   Address, DateTime   Birthday, string   Email )  
  380.         {  
  381.             bool flage = false;  
  382.             string str = SqlHelper.Constr;  
  383.             SqlConnection con = new SqlConnection(str);  
  384.             string sql = "insert into [dbo].[Student](LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Email)values('" + LoginPwd + "','" + StudentName + "','" + Gender + "','" + GradeId + "','" + Phone + "','" + Address + "','" + DateTime.Now.ToShortDateString() + "','" + Email + "') ";  
  385.             SqlCommand cmd=new SqlCommand(sql,con);  
  386.             con.Open();  
  387.             int count = cmd.ExecuteNonQuery();  
  388.             con.Close();  
  389.             if (count>0)  
  390.             {  
  391.                 flage = true;  
  392.             }  
  393.             return flage;  
  394.         }  
  395.         public bool AddStudent(string LoginPwd, string StudentName, string Gender, int GradeId, string Phone,  
  396.             string Address, DateTime Birthday, string Email)  
  397.         {  
  398.             bool flage = false;  
  399.             string sql =  
  400.                 "insert into [dbo].[Student](LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Email)values('" +  
  401.                 LoginPwd + "','" + StudentName + "','" + Gender + "','" + GradeId + "','" + Phone + "','" + Address +  
  402.                 "','" + DateTime.Now.ToShortDateString() + "','" + Email + "') ";  
  403.             int count = SqlHelper.ExecuteNonQuery(sql);  
  404.             if (count > 0)  
  405.             {  
  406.                 flage = true;  
  407.             }  
  408.             return flage;  
  409.         }  
  410.         public bool IsLonginAgo(string username, string pwd)  
  411.         {  
  412.             bool flage = false;  
  413.             string str = SqlHelper.Constr;  
  414.             SqlConnection con = new SqlConnection(str);  
  415.             string sql = "select count(1) from student where studentname='"+username+"'and loginpwd='"+pwd+"'";  
  416.             SqlCommand com  = new SqlCommand(sql,con);  
  417.             con.Open();  
  418.             int i = Convert.ToInt32(com.ExecuteScalar());  
  419.             if (i>0)  
  420.             {  
  421.                 flage = true;  
  422.             }  
  423.             con.Close();  
  424.             return flage;  
  425.         }  
  426.         //登陆方法  
  427.         public bool IsLongin(string username, string pwd)  
  428.         {  
  429.             bool flage = false;  
  430.             string sql = "select count(1) from student where studentname='" + username + "'and loginpwd='" + pwd + "'";  
  431.             int i = Convert.ToInt32(SqlHelper.ExecuteScalar(sql));  
  432.             if (i > 0)  
  433.             {  
  434.                 flage = true;  
  435.             }          
  436.             return flage;  
  437.         }  
  438.     //修改密码  
  439.         public bool xiugaimima(Student stu)  
  440.         {  
  441.             //string str = SqlHelper.Constr;  
  442.             //SqlConnection con=new SqlConnection(str);  
  443.             string sql = "update student set loginpwd='" + stu.LoginPwd+ "'where studentname='" + stu.StudentName + "'";  
  444.             //SqlCommand cmd=new SqlCommand(sql,con);  
  445.             //con.Open();  
  446.             int i = SqlHelper.ExecuteNonQuery(sql);  
  447.             if (i > 0)  
  448.             {  
  449.                 return true;  
  450.             }  
  451.             else  
  452.             {  
  453.                 return false;  
  454.             }  
  455.         }  
  456.              //删除  
  457.             public int shanchu(string shu)  
  458.             {  
  459.                 string sql = "delete from student where studentno='"+shu+"'";  
  460.                 int i = SqlHelper.ExecuteNonQuery(sql);  
  461.                 return i;  
  462.             }      
  463.             public DataTable chuxnun3(string name)  
  464.            {  
  465.             String str = SqlHelper.Constr;  
  466.             SqlConnection con=new SqlConnection(str);  
  467.             string sql = "select * from student where studentname=@name";  
  468.             SqlParameter para=new SqlParameter("@name",name);  
  469.             SqlCommand cmd=new SqlCommand(sql,con);  
  470.             cmd.Parameters.Add(para);  
  471.             SqlDataAdapter da=new SqlDataAdapter();  
  472.             da.SelectCommand = cmd;  
  473.             DataSet ds=new DataSet();  
  474.             da.Fill(ds,"stuinfo]") ;  
  475.             return ds.Tables["stuinfo"];  
  476.          }  
  477.         //带参  
  478.         public DataTable get(string name,int gid,out int i)  
  479.         {  
  480.             string str =SqlHelper.Constr;  
  481.             SqlConnection con=new SqlConnection(str);  
  482.             string sql = "usp_0139";  
  483.             SqlCommand cmd=new SqlCommand(sql,con);  
  484.             SqlParameter[] paras =  
  485.             {  
  486.                 new SqlParameter("@gender", name),  
  487.                 new SqlParameter("@gradeid", gid),  
  488.                 new SqlParameter("@countnum", SqlDbType.Int),  
  489.                 new SqlParameter("@myreturn",SqlDbType.Int), 
  490.             };  
  491.             paras[2].Direction = ParameterDirection.Output;  
  492.             paras[3].Direction = ParameterDirection.ReturnValue;  
  493.             cmd.Parameters.AddRange(paras);  
  494.             cmd.CommandType = CommandType.StoredProcedure;  
  495.             SqlDataAdapter da=new SqlDataAdapter();  
  496.             da.SelectCommand = cmd;  
  497.             DataSet ds=new DataSet();  
  498.             da.Fill(ds,"info");  
  499.             i = Convert.ToInt32(paras[2].Value);  
  500.             int myreturn = Convert.ToInt32(paras[3].Value);  
  501.             Console.WriteLine(myreturn);  
  502.             Console.WriteLine(i);  
  503.             return ds.Tables["info"];  
  504.         }  
  505. }  
  506. }  
  507.       
  508.   ////////////////////MySchool.Model  .cs
  509.       
  510. using System;  
  511. using System.Collections.Generic;  
  512. using System.Linq;  
  513. using System.Text;  
  514. using System.Threading.Tasks;  
  515.   
  516. namespace MySchool.Model  
  517. {  
  518.    public class Student  
  519.     {  
  520.        public Student()  
  521.        {  
  522.        }   
  523.        public int StudentNo   {   set;  get ; }   
  524.         public string LoginPwd   {   set ;   get ;}   
  525.         public string StudentName   {   set ;   get ;}  
  526.         public string Gender   {   set ;   get ;}  
  527.         public int GradeId   {   set ;   get ;}  
  528.         public string Phone   {   set ;   get ;}  
  529.         public string Address   {   set ;   get ;}  
  530.         public DateTime? Birthday   {   set ;   get ;}  
  531.         public string Email   {   set ;   get ;}  
  532.         public int? MyTT   {   set ;   get ;}  
  533.     }  
  534. }  
  535.   
  536. //////Program.cs
  537.   
  538. using System;  
  539. using System.Collections.Generic;  
  540. using System.Linq;  
  541. using System.Threading.Tasks;  
  542. using System.Windows.Forms;  
  543.   
  544. namespace MySchool.UI  
  545. {  
  546.     static class Program  
  547.     {  
  548.         /// <summary>  
  549.         /// 应用程序的主入口点。  
  550.         /// </summary>  
  551.         [STAThread]  
  552.         static void Main()  
  553.         {  
  554.             Application.EnableVisualStyles();  
  555.             Application.SetCompatibleTextRenderingDefault(false);  
  556.             Application.Run(new Form1() );  
  557.         }  
  558.     }  
  559. }  
0 0
原创粉丝点击