11.16三层架构

 

1.查询

进行模糊查询要将%%号写在SqlParameter 实例中,写法为

SqlParameter sqlParameters = new SqlParameter("@name",$"%{name}%");
SQL语句中不需要添加%%,也不用加引号,加@即可,
        var sql = "select * from ClassInfo where name like @name";

            SqlParameter sqlParameters = new SqlParameter("@name",$"%{name}%");

            DataTable table = SqlHelper.Query(sql,sqlParameters);

            List<ClassInfo> list = new List<ClassInfo>();

            foreach (DataRow row in table.Rows)
            {
                var cls = new ClassInfo()
                {
                    Id = Convert.ToInt32(row["Id"]),
                    Name=Convert.ToString(row["Name"]),
                    Comment=Convert.ToString(row["Comment"])
                };
                list.Add(cls);
            }
            return list;
        }

2.根据ID查询 

            SqlParameter[] sqlParameters = new SqlParameter[]
            {
            new SqlParameter("@id",id)
            };
SqlDataReader reader
= SqlHelper.Reader(sql, sqlParameters);
ClassInfo info
= null;
if (reader.Read())
{ info
= new ClassInfo() { Id = Convert.ToInt32(reader["Id"]), Name = Convert.ToString(reader["Name"]), Comment = Convert.ToString(reader["Comment"]) }; } reader.Close(); return info; }

3.BLL层只需要调用DAL层方法即可

 public static List<ClassInfo> Select(string name="") {
            return ClassInfoDAL.Select(name);
        
        }

        public static ClassInfo Select(int id) {
            return ClassInfoDAL.Select(id);
        }

4.在UI层绑定BLL层方法,并绑定到Gridview中。

用DataSource引用BLL层方法,再用DataBind()绑定到Gridview.

5.AutoGenerateColumns="False"为取消自动添加列

posted @ 2021-11-16 21:12  东黎  阅读(41)  评论(0)    收藏  举报