C#簡單三層架構

三層架構是哪三層

界面層(User Interface layer)

業務邏輯層(Business Logic Layer)

數據訪問層(Data access layer)

 

如何搭建三層架構

步驟1:

文件---新建---項目---Windows窗體應用程序
名稱:UIL
解決方案名稱:Demo3Tier

選中解決方案名稱:Demo3Tier
添加---新建項目---類庫
名稱:BLL

選中解決方案名稱:Demo3Tier
添加---新建項目---類庫
名稱:DAL

選中解決方案名稱:Demo3Tier
添加---新建項目---類庫
名稱:MODEL

完成之後如圖所示

 

步驟2:
UIL添加引用
BLL,MODEL

BLL添加引用
DAL,MODEL

DAL添加引用
MODEL

這裏只顯示了UIL層的引用

步驟3:
MODEL編寫F0092類文件

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

namespace MODEL
{
    public class F0092
    {
        string ulul01;
        string ulul02;
        string ulul03;
        string ulul04;
        string ulul05;
        string ulul06;
        string ulul07;
        string ulul08;
        string ulul09;
        string ulul10;
        string ulul11;
        string ulul12;
        string ulul13;
        string ulul14;
        string ulul15;
        string ulul16;
        string ulul17;
        string ulul18;
        string ulul19;
        string ulul20;
        string ulul21;
        string ulul22;
        string ulul23;
        string ulul24;
        string ulul25;

        public string ULUL01 { get { return ulul01; } set { ulul01 = value; } }
        public string ULUL02 { get { return ulul02; } set { ulul02 = value; } }
        public string ULUL03 { get { return ulul03; } set { ulul03 = value; } }
        public string ULUL04 { get { return ulul04; } set { ulul04 = value; } }
        public string ULUL05 { get { return ulul05; } set { ulul05 = value; } }
        public string ULUL06 { get { return ulul06; } set { ulul06 = value; } }
        public string ULUL07 { get { return ulul07; } set { ulul07 = value; } }
        public string ULUL08 { get { return ulul08; } set { ulul08 = value; } }
        public string ULUL09 { get { return ulul09; } set { ulul09 = value; } }
        public string ULUL10 { get { return ulul10; } set { ulul10 = value; } }
        public string ULUL11 { get { return ulul11; } set { ulul11 = value; } }
        public string ULUL12 { get { return ulul12; } set { ulul12 = value; } }
        public string ULUL13 { get { return ulul13; } set { ulul13 = value; } }
        public string ULUL14 { get { return ulul14; } set { ulul14 = value; } }
        public string ULUL15 { get { return ulul15; } set { ulul15 = value; } }
        public string ULUL16 { get { return ulul16; } set { ulul16 = value; } }
        public string ULUL17 { get { return ulul17; } set { ulul17 = value; } }
        public string ULUL18 { get { return ulul18; } set { ulul18 = value; } }
        public string ULUL19 { get { return ulul19; } set { ulul19 = value; } }
        public string ULUL20 { get { return ulul20; } set { ulul20 = value; } }
        public string ULUL21 { get { return ulul21; } set { ulul21 = value; } }
        public string ULUL22 { get { return ulul22; } set { ulul22 = value; } }
        public string ULUL23 { get { return ulul23; } set { ulul23 = value; } }
        public string ULUL24 { get { return ulul24; } set { ulul24 = value; } }
        public string ULUL25 { get { return ulul25; } set { ulul25 = value; } }
    }
}

 步驟4:
UIL編寫App.config配置文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!--添加以下標籤connectionStrings-->
  <connectionStrings>
    <add name="MSSQLDB" connectionString="server=.;uid=sa;pwd=123456;database=LemonTea;"/>
  </connectionStrings>
  
</configuration>

步驟5:
DAL編寫MssqlHelper類文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//使用以下命名空間。
using System.Data;
using System.Data.SqlClient;
//需要添加引用
using System.Configuration;

namespace DAL
{
    class MssqlHelper
    {
        //獲取連接數據庫的對象
        public static SqlConnection GetConn()
        {
            //獲取數據庫連接字符串
            string strAccess = ConfigurationManager.ConnectionStrings["MSSQLDB"].ConnectionString;
            //得到連接數據庫的對象
            SqlConnection sqlConn = new SqlConnection(strAccess);
            return sqlConn;
        }

        //查詢的公共方法
        public static DataSet SearchMethod(string strSQL, SqlParameter[] sqlPar)
        {
            //得到連接數據庫的對象
            SqlConnection sqlConn = GetConn();
            //得到執行SQL語句的對象
            SqlCommand sqlCmd = new SqlCommand(strSQL, sqlConn);
            //把參數添加到SqlCommand中。
            if (sqlPar != null)
            {
                sqlCmd.Parameters.AddRange(sqlPar);
            }
            //適配器去執行
            SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
            //得到數據的倉庫
            DataSet sqlDs = new DataSet();
            //填充數據
            sqlDa.Fill(sqlDs);
            return sqlDs;
        }

        //更新的公共方法
        public static bool ModifyMethod(string strSQL, SqlParameter[] sqlPar)
        {
            bool result = false;
            //得到連接數據庫的對象
            SqlConnection sqlConn = GetConn();
            //得到執行SQL語句的對象
            SqlCommand sqlCmd = new SqlCommand(strSQL, sqlConn);
            //把參數添加到SqlCommand中。
            if (sqlPar != null)
            {
                sqlCmd.Parameters.AddRange(sqlPar);
            }

            try
            {
                //打開數據庫連接
                sqlConn.Open();
                //執行SQL語句
                int numExec = sqlCmd.ExecuteNonQuery();
                if (numExec > 0)
                {
                    result = true;
                }
            }
            catch (Exception ex)
            {
                //拋出錯誤異常信息
                throw ex;
            }
            finally
            {
                //關閉數據庫連接
                sqlConn.Close();
            }
            return result;
        }

    }
}

DAL編寫F0092類文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//使用以下命名空間。
using System.Data;
using System.Data.SqlClient;

namespace DAL
{
    public class F0092
    {
        //查詢全部記錄
        public static List<MODEL.F0092> SelectAllRecord()
        {
            List<MODEL.F0092> list = new List<MODEL.F0092>();

            string strSQL = "select * from F0092";
            DataSet sqlDs = MssqlHelper.SearchMethod(strSQL, null);

            foreach (DataRow dr in sqlDs.Tables[0].Rows)
            {
                MODEL.F0092 f0092 = new MODEL.F0092();
                f0092.ULUL01 = Convert.ToString(dr["ULUL01"]);
                f0092.ULUL02 = Convert.ToString(dr["ULUL02"]);
                f0092.ULUL03 = Convert.ToString(dr["ULUL03"]);
                f0092.ULUL04 = Convert.ToString(dr["ULUL04"]);
                f0092.ULUL05 = Convert.ToString(dr["ULUL05"]);
                f0092.ULUL06 = Convert.ToString(dr["ULUL06"]);
                f0092.ULUL07 = Convert.ToString(dr["ULUL07"]);
                f0092.ULUL08 = Convert.ToString(dr["ULUL08"]);
                f0092.ULUL09 = Convert.ToString(dr["ULUL09"]);
                f0092.ULUL10 = Convert.ToString(dr["ULUL10"]);
                f0092.ULUL11 = Convert.ToString(dr["ULUL11"]);
                f0092.ULUL12 = Convert.ToString(dr["ULUL12"]);
                f0092.ULUL13 = Convert.ToString(dr["ULUL13"]);
                f0092.ULUL14 = Convert.ToString(dr["ULUL14"]);
                f0092.ULUL15 = Convert.ToString(dr["ULUL15"]);
                f0092.ULUL16 = Convert.ToString(dr["ULUL16"]);
                f0092.ULUL17 = Convert.ToString(dr["ULUL17"]);
                f0092.ULUL18 = Convert.ToString(dr["ULUL18"]);
                f0092.ULUL19 = Convert.ToString(dr["ULUL19"]);
                f0092.ULUL20 = Convert.ToString(dr["ULUL20"]);
                f0092.ULUL21 = Convert.ToString(dr["ULUL21"]);
                f0092.ULUL22 = Convert.ToString(dr["ULUL22"]);
                f0092.ULUL23 = Convert.ToString(dr["ULUL23"]);
                f0092.ULUL24 = Convert.ToString(dr["ULUL24"]);
                f0092.ULUL25 = Convert.ToString(dr["ULUL25"]);
                list.Add(f0092);
            }
            return list;
        }

        //查詢單條記錄
        public static MODEL.F0092 SelectSingleRecord(string ulul01)
        {
            string strSQL = "select * from F0092 where ulul01 = @ulul01";
            SqlParameter[] sqlPar = {
                                      new SqlParameter("@ulul01",ulul01)
                                  };

            DataSet sqlDs = MssqlHelper.SearchMethod(strSQL, sqlPar);

            MODEL.F0092 f0092 = new MODEL.F0092();
            f0092.ULUL01 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL01"]);
            f0092.ULUL02 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL02"]);
            f0092.ULUL03 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL03"]);
            f0092.ULUL04 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL04"]);
            f0092.ULUL05 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL05"]);
            f0092.ULUL06 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL06"]);
            f0092.ULUL07 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL07"]);
            f0092.ULUL08 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL08"]);
            f0092.ULUL09 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL09"]);
            f0092.ULUL10 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL10"]);
            f0092.ULUL11 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL11"]);
            f0092.ULUL12 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL12"]);
            f0092.ULUL13 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL13"]);
            f0092.ULUL14 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL14"]);
            f0092.ULUL15 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL15"]);
            f0092.ULUL16 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL16"]);
            f0092.ULUL17 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL17"]);
            f0092.ULUL18 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL18"]);
            f0092.ULUL19 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL19"]);
            f0092.ULUL20 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL20"]);
            f0092.ULUL21 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL21"]);
            f0092.ULUL22 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL22"]);
            f0092.ULUL23 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL23"]);
            f0092.ULUL24 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL24"]);
            f0092.ULUL25 = Convert.ToString(sqlDs.Tables[0].Rows[0]["ULUL25"]);
            return f0092;
        }

        //添加記錄
        public static bool InsertRecord(MODEL.F0092 f0092)
        {
            string strSQL = "insert into F0092 values(@ulul01,@ulul02,@ulul03,@ulul04,@ulul05,@ulul06,@ulul07,@ulul08,@ulul09,@ulul10,@ulul11,@ulul12,@ulul13,@ulul14,@ulul15,@ulul16,@ulul17,@ulul18,@ulul19,@ulul20,@ulul21,@ulul22,@ulul23,@ulul24,@ulul25)";
            SqlParameter[] sqlPar = {
                                        new SqlParameter("@ulul01",f0092.ULUL01),
                                        new SqlParameter("@ulul02",f0092.ULUL02),
                                        new SqlParameter("@ulul03",f0092.ULUL03),
                                        new SqlParameter("@ulul04",f0092.ULUL04),
                                        new SqlParameter("@ulul05",f0092.ULUL05),
                                        new SqlParameter("@ulul06",f0092.ULUL06),
                                        new SqlParameter("@ulul07",f0092.ULUL07),
                                        new SqlParameter("@ulul08",f0092.ULUL08),
                                        new SqlParameter("@ulul09",f0092.ULUL09),
                                        new SqlParameter("@ulul10",f0092.ULUL10),
                                        new SqlParameter("@ulul11",f0092.ULUL11),
                                        new SqlParameter("@ulul12",f0092.ULUL12),
                                        new SqlParameter("@ulul13",f0092.ULUL13),
                                        new SqlParameter("@ulul14",f0092.ULUL14),
                                        new SqlParameter("@ulul15",f0092.ULUL15),
                                        new SqlParameter("@ulul16",f0092.ULUL16),
                                        new SqlParameter("@ulul17",f0092.ULUL17),
                                        new SqlParameter("@ulul18",f0092.ULUL18),
                                        new SqlParameter("@ulul19",f0092.ULUL19),
                                        new SqlParameter("@ulul20",f0092.ULUL20),
                                        new SqlParameter("@ulul21",f0092.ULUL21),
                                        new SqlParameter("@ulul22",f0092.ULUL22),
                                        new SqlParameter("@ulul23",f0092.ULUL23),
                                        new SqlParameter("@ulul24",f0092.ULUL24),
                                        new SqlParameter("@ulul25",f0092.ULUL25)
                                    };
            bool result = MssqlHelper.ModifyMethod(strSQL, sqlPar);
            return result;
        }

        //刪除記錄
        public static bool DeleteRecord(string ulul01)
        {
            string strSQL = "delete from F0092 where ulul01 = @ulul01";
            SqlParameter[] sqlPar = {
                                      new SqlParameter("@ulul01",ulul01)
                                  };
            bool result = MssqlHelper.ModifyMethod(strSQL, sqlPar);
            return result;
        }

        //修改記錄
        public static bool UpdateRecord(MODEL.F0092 f0092)
        {
            string strSQL = "update F0092 set ulul02=@ulul02,ulul03=@ulul03,ulul04=@ulul04,ulul05=@ulul05,ulul06=@ulul06,ulul07=@ulul07,ulul08=@ulul08,ulul09=@ulul09,ulul10=@ulul10,ulul11=@ulul11,ulul12=@ulul12,ulul13=@ulul13,ulul14=@ulul14,ulul15=@ulul15,ulul16=@ulul16,ulul17=@ulul17,ulul18=@ulul18,ulul19=@ulul19,ulul20=@ulul20,ulul21=@ulul21,ulul22=@ulul22,ulul23=@ulul23,ulul24=@ulul24,ulul25=@ulul25 where ulul01=@ulul01";
            SqlParameter[] sqlPar = {
                                        new SqlParameter("@ulul02",f0092.ULUL02),
                                        new SqlParameter("@ulul03",f0092.ULUL03),
                                        new SqlParameter("@ulul04",f0092.ULUL04),
                                        new SqlParameter("@ulul05",f0092.ULUL05),
                                        new SqlParameter("@ulul06",f0092.ULUL06),
                                        new SqlParameter("@ulul07",f0092.ULUL07),
                                        new SqlParameter("@ulul08",f0092.ULUL08),
                                        new SqlParameter("@ulul09",f0092.ULUL09),
                                        new SqlParameter("@ulul10",f0092.ULUL10),
                                        new SqlParameter("@ulul11",f0092.ULUL11),
                                        new SqlParameter("@ulul12",f0092.ULUL12),
                                        new SqlParameter("@ulul13",f0092.ULUL13),
                                        new SqlParameter("@ulul14",f0092.ULUL14),
                                        new SqlParameter("@ulul15",f0092.ULUL15),
                                        new SqlParameter("@ulul16",f0092.ULUL16),
                                        new SqlParameter("@ulul17",f0092.ULUL17),
                                        new SqlParameter("@ulul18",f0092.ULUL18),
                                        new SqlParameter("@ulul19",f0092.ULUL19),
                                        new SqlParameter("@ulul20",f0092.ULUL20),
                                        new SqlParameter("@ulul21",f0092.ULUL21),
                                        new SqlParameter("@ulul22",f0092.ULUL22),
                                        new SqlParameter("@ulul23",f0092.ULUL23),
                                        new SqlParameter("@ulul24",f0092.ULUL24),
                                        new SqlParameter("@ulul25",f0092.ULUL25),
                                        new SqlParameter("@ulul01",f0092.ULUL01)
                                    };
            bool result = MssqlHelper.ModifyMethod(strSQL, sqlPar);
            return result;
        }

    }
}

 步驟6:
BLL編寫F0092類文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//使用以下命名空間。
using System.Data;
using System.Data.SqlClient;

namespace BLL
{
    public class F0092
    {
        //查詢全部記錄
        public static List<MODEL.F0092> SelectAllRecord()
        {
            return DAL.F0092.SelectAllRecord();
        }

        //查詢單條記錄
        public static MODEL.F0092 SelectSingleRecord(string ulul01)
        {
            return DAL.F0092.SelectSingleRecord(ulul01);
        }

        //添加記錄
        public static bool InsertRecord(MODEL.F0092 f0092)
        {
            return DAL.F0092.InsertRecord(f0092);
        }

        //刪除記錄
        public static bool DeleteRecord(string ulul01)
        {
            return DAL.F0092.DeleteRecord(ulul01);
        }

        //修改記錄
        public static bool UpdateRecord(MODEL.F0092 f0092)
        {
            return DAL.F0092.UpdateRecord(f0092);
        }

    }
}

步驟7:
UIL編寫代碼。

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;

namespace UIL
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void btnSearch_Click(object sender, EventArgs e)
        {
            dgvDisplay.DataSource = BLL.F0092.SelectAllRecord();
        }
    }
}

完成步驟4~步驟7後如圖所示

完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章