3层

Model

public class TB_Score
{
    public int Id;
    public string Name;
    public int Score;
    public int Class;
}

DAL

public class TB_ScoreDAL
{
      public TB_Score Get(string name)
    {
        DataTable dt = SqlHelper.ExecuteDataTable("SELECT * FROM TB_Score WHERE Name LIKE @name", new SqlParameter("@name", "%" + name + "%"));
        if (dt.Rows.Count > 1)
        {
            throw new Exception("more than 1 row was found");
        }
        if (dt.Rows.Count <= 0)
        {
            return null;
        }
        DataRow row = dt.Rows[0];
        TB_Score model = ToModel(row);
        return model;
    }

    private static TB_Score ToModel(DataRow row)
    {
        TB_Score model = new TB_Score();
        model.Id = (int)row["Id"];
        model.Name = (string)row["Name"];
        model.Score = (int)row["Score"];
        model.Class = (int)row["Class"];
        return model;
    }

    public IEnumerable<TB_Score> ListAllBySort(bool desc)
    {
        if (desc)
        {
            List<TB_Score> list = new List<TB_Score>();
            DataTable dt = SqlHelper.ExecuteDataTable("SELECT * FROM TB_Score ORDER BY Score DESC");
            foreach (DataRow row in dt.Rows)
            {
                list.Add(ToModel(row));
            }
            return list;
        }
        else
        {
            List<TB_Score> list = new List<TB_Score>();
            DataTable dt = SqlHelper.ExecuteDataTable("SELECT * FROM TB_Score ORDER BY Score ASC");
            foreach (DataRow row in dt.Rows)
            {
                list.Add(ToModel(row));
            }
            return list;
        }
    }
}

BLL

public class TB_ScoreBLL
{
    public TB_Score Get(string name)
    {
        return new TB_ScoreDAL().Get(name);
    }

    public IEnumerable<TB_Score> ListAllBySort(bool desc)
    {
        return new TB_ScoreDAL().ListAllBySort(desc);
    }
}

SQLHelper

public class SqlHelper
{
    public static readonly string connstr = "Data Source=61.218.226.223;Initial Catalog=xdsafasdt;Persist Security Info=True;User ID=dsafdasf;Password=dsafsdafdas";

    public static int ExecuteNonQuery(string cmdText, params SqlParameter[] parameters)
    {
        using (SqlConnection conn = new SqlConnection(connstr))
        {
            conn.Open();
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = cmdText;
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteNonQuery();
            }
        }
    }

    public static object ExecuteScalar(string cmdText, params SqlParameter[] parameters)
    {
        using (SqlConnection conn = new SqlConnection(connstr))
        {
            conn.Open();
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = cmdText;
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteScalar();
            }
        }
    }

    public static DataTable ExecuteDataTable(string cmdText, params SqlParameter[] parameters)
    {
        using (SqlConnection conn = new SqlConnection(connstr))
        {
            conn.Open();
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = cmdText;
                cmd.Parameters.AddRange(parameters);
                using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
                {
                    DataTable dt = new DataTable();
                    adapter.Fill(dt);
                    return dt;
                }
            }
        }
    }

    public static SqlDataReader ExecuteDataReader(string cmdText, params SqlParameter[] parameters)
    {
        using (SqlConnection conn = new SqlConnection(connstr))
        {
            conn.Open();
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = cmdText;
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
        }
    }
    public static object FromDbValue(object value)
    {
        if (value == DBNull.Value)
        {
            return null;
        }
        else
        {
            return value;
        }
    }
    public static object ToDbValue(object value)
    {
        if (value == null)
        {
            return DBNull.Value;
        }
        else
        {
            return value;
        }
    }
}
原文地址:https://www.cnblogs.com/xiangsoft/p/3280258.html