天天看點

GridView控件增删改查(查)

總共6個類~

模型層Student,Grade

資料通路層StudentServices,GradeServices

邏輯處理層StudentManager,GradeManager

UI層的綁定方法在1.7标題位置

關于1.3 DAL.StudentServices類後面Gender字段的那個詳細可以搜尋一下三元運算符的文法

這其中代碼不考慮安全性 僅供學習參考。

沒有寫傳回類型的方法是構造函數,分别為無參和帶參

使用方法:

Student stu = new Student();
Student stu = new Student("此處參數與構造函數中的參數類型、數量相同");
           

1.1 Model.Student實體類

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyWebProjectModel
{
    public class Student
    {
        /// <summary>
        /// 學号
        /// </summary>
        public string StudentNo { get; set; }
        /// <summary>
        /// 密碼
        /// </summary>
        public string LoginPwd { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        public string StudentName { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        public string Gender { get; set; }
        /// <summary>
        /// 年級
        /// </summary>
        public int GradeId { get; set; }
        /// <summary>
        /// 電話
        /// </summary>
        public string Phone { get; set; }
        /// <summary>
        /// 位址
        /// </summary>
        public string Address { get; set; }
        /// <summary>
        /// 日期
        /// </summary>
        public DateTime BornDate { get; set; }
        /// <summary>
        /// 郵箱
        /// </summary>
        public string Email { get; set; }
        public string GradeName { get; set; }
        /// <summary>
        /// 身份證
        /// </summary>
        public string IdentityCard { get; set; }
        public Student() { }
        /// <summary>
        /// 帶參構造函數
        /// </summary>
        /// <param name="StudentNo">學号</param>
        /// <param name="LoginPwd">密碼</param>
        /// <param name="StudentName">姓名</param>
        /// <param name="Gender">性别</param>
        /// <param name="GradeId">年級</param>
        /// <param name="Phone">電話</param>
        /// <param name="Address">位址</param>
        /// <param name="BornDate">日期</param>
        /// <param name="Email">郵箱</param>
        /// <param name="IdentityCard">身份證</param>
        public Student(string StudentNo, string LoginPwd, string StudentName, string Gender, int GradeId, string Phone, string Address, DateTime BornDate, string Email, string IdentityCard)
        {
            this.StudentNo = StudentNo;
            this.LoginPwd = LoginPwd;
            this.StudentName = StudentName;
            this.Gender = Gender;
            this.GradeId = GradeId;
            this.Phone = Phone;
            this.Address = Address;
            this.BornDate = BornDate;
            this.Email = Email;
            this.IdentityCard = IdentityCard;
        }
    }
}
           

1.2 Model.Grade實體類

<pre name="code" class="csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyWebProjectModel
{
    public class Grade
    {
        public string GradeId { get; set; }
        public string GradeName { get; set; }
    }
           
public Grade(){}
           
public Grade(string GradeId,string GradeName)
           
<span style="white-space:pre">	</span>this.GradeId = GradeId;
           
<span style="white-space:pre">	</span>this.GradeName = GradeName;
           
}
}
           

1.3 DAL.StudentServices類

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MyWebProjectModel;
using System.Data.SqlClient;

namespace MyWebProjectDAL
{
    public class StudentServices
    {
        public List<Student> GetStudentAll()
        {
            List<Student> list = new List<Student>();
            string sql = "select * from Student";
            using (SqlDataReader reader = DBHelper.GetExecuteReader(sql))
            {
                while (reader.Read())
                {
                    Student stu = new Student()
                    {
                        StudentNo = reader["StudentNo"].ToString(),
                        LoginPwd = reader["loginPwd"].ToString(),
                        StudentName = reader["studentName"].ToString(),
                        Gender = Convert.ToBoolean(reader["gender"]) == true ? "男" : "女",
                        GradeId = int.Parse(reader["gradeId"].ToString()),
                        GradeName = new GradeServices().GetGradeById(Convert.ToInt32(reader["gradeId"])),
                        Phone = reader["phone"].ToString(),
                        Address = reader["address"].ToString(),
                        BornDate = Convert.ToDateTime(reader["bornDate"]),
                        Email = reader["email"].ToString(),
                        IdentityCard = reader["identityCard"].ToString()
                    };
                    list.Add(stu);
                }
                return list;
            }
        }
    } 
}
           

1.4 DAL.GradeServices類

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using MyWebProjectModel;

namespace MyWebProjectDAL
{
    public class GradeServices
    {
<span style="white-space:pre">	</span>public List<Grade> GetGradeAll()
        {
            List<Grade> list = new List<Grade>();
            string sql = "select * from Grade";
            using (SqlDataReader reader = DBHelper.GetExecuteReader(sql))
            {
                while (reader.Read())
                {
                    Grade gd = new Grade()
                    {
                        GradeId = reader["GradeId"].ToString(),
                        GradeName = reader["gradeName"].ToString()
                    };
                    list.Add(gd);
                }
            }
            return list;
        }
    }
}
           

1.5 BLL.StudentManager類

<pre name="code" class="csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MyWebProjectDAL;
using MyWebProjectModel;


namespace MyWebProjectBLL
{
    public class StudentManager
    {


        StudentServices ss = new StudentServices();
        public List<Student> GetStudentAll()
        {
            return ss.GetStudentAll();
        }
    }
}
           

1.6 BLL.GradeManager類

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MyWebProjectModel;
using MyWebProjectDAL;

namespace MyWebProjectBLL
{
    public class GradeManager
    {
        GradeServices gs = new GradeServices();
        public string GetGradeById(int Id)
        {
            return gs.GetGradeById(Id);
        }
        public Grade GetGradeAllById(int Id)
        {
            return gs.GetGradeAllById(Id);
        }
        public List<Grade> GetGradeAll()
        {
            return gs.GetGradeAll();
        }
    }
}
           

1.7 GridView綁定

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MyWebProjectBLL;
using MyWebProjectModel;

namespace MyWebProject
{
    public partial class FromStudentAll : System.Web.UI.Page
    {
        StudentManager sm = new StudentManager();
        protected void Page_Load(object sender, EventArgs e)
        {
            GetDataBind();
        }
        public void GetDataBind()
        {
            List<Student> list = sm.GetStudentAll();
            GridView1.DataSource = list;
            GridView1.DataBind();
        }
    }
}
           

1.8 DropDownList控件綁定

GridView控件增删改查(查)
GridView控件增删改查(查)
GridView控件增删改查(查)

此處需要注意  如果用實體類為傳回類型是沒作用的~

綁定方式并不是唯一 但卻是比較省時間的 其他綁定方式後續案例中提到

1.3 DAL.StudentServices類

繼續閱讀