總共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控件綁定
此處需要注意 如果用實體類為傳回類型是沒作用的~
綁定方式并不是唯一 但卻是比較省時間的 其他綁定方式後續案例中提到
1.3 DAL.StudentServices類