一:整理一下总体思路
首先三层结构有:最上面:用户界面层MySchoolUI
中间一层:业务逻辑层MySchoolBLL
最下面是:数据库层MySchoolDal
依赖关系是从上层依赖下层
还有 一个实体类:MySchoolEntity
其他三层都依赖实体类MySchoolEntity
二:具体实现
(1)MySchoolEntity
实现一个student.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MySchoolEntity
{
public class Student
{
public string Id;
public string Name;
public string Gender;
public string Major;
public int Grade;
public int TheClass;
}
}
(2)MySchoolDal
提取公共的方法:减少代码的重复
DbHelper.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace MySchoolDAL
{
public class DbHelper
{
public static void myExecute(string sql)
{
string s = "server=.;database=SampleDb;Integrated Security=true;";
SqlConnection conn = new SqlConnection(s);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = sql;
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
}
studentDal.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using MySchoolEntity;
namespace MySchoolDAL
{
public class StudentDal
{
public void insert(Student student)
{
string sql = string.Format("insert into Student(Id,Name,Gender,Major,Grade,Class) values('{0}','{1}','{2}','{3}',{4},{5})",
student.Id, student.Name,student.Major, student.Gender, student.Grade, student.TheClass);
DbHelper.myExecute(sql);
}
}
}
(3)MySchoolBll
studentBll.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySchoolEntity;
using MySchoolDAL;
namespace MySchoolBll
{
public class StudentBll
{
public void insert(Student s)
{
//检查业务逻辑
if(s.Grade>2012||s.Grade<2009)
throw new Exception("年纪错误!");
StudentDal dal=new StudentDal();
dal.insert(s);
}
}
}
(4)MyschoolUI
Addstudent.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySchoolEntity;
using MySchoolBll;
namespace MySchoolUI
{
public partial class AddStudent : Form
{
public AddStudent()
{
InitializeComponent();
}
private void AddStudent_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Student student = new Student();
student.Id = textId.Text;
student.Name = textname.Text;
student.Gender = radiomale.Checked ? "男" : "女";
student.Major = textmajor.Text;
student.Grade = int.Parse(textgrade.Text);
student.TheClass =int.Parse( textclass.Text);
StudentBll bll = new StudentBll();
bll.insert(student);
MessageBox.Show("添加成功!");
}
}
}
主窗口:
form1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace MySchoolUI
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}