11.16

一、model类用于存储数据库中的字段,方便DAL,BLL,UIi调用,DAL数据访问层,写增删改的具体操作,BLL业务逻辑层调用DAL,UI层执行最后的操作,与用户达成沟通

DAL中查询全部数据:写查询语句放到SqlParameter数组中,防止被SQL注入怎么办就通过参数的方式,来书写SQL语句

 var sql = "select * from classinfo where name like @name";
            SqlParameter[] sqlParameters = new SqlParameter[]
            {
                new SqlParameter("@name",$"%{name}%")
            };
            DataTable table = DBHelper.query(sql,sqlParameters);

这里把用户传到后台的账号name赋值给 @name这样一来,数据库服务器不会将参数的内容视为SQL指令的一部份来处理,而是在数据库完成 SQL 指令的编译后,才套用参数运行,因此就算参数中含有恶意的指令,由于已经编译完成,就不会被数据库所运行
二、foreach:加强的for循环
ds:DataSet(可以放多个Table,也就是可以放多个表)首先 ds是一个DataSet , ds.Tables[0]就是 ds中的第一个表, ds.Table[0].Rows就是这个表中的所有行,
可以改写一下:
DataRow[] Rows;(先定义一个Rows数组)
Rows = ds.Tables[0].Rows;(然后给这个Rows数组赋值)
foreach (DataRow dr in Rows)(然后 循环Rows数组)
 三、用dgv.DataSource = db.AAA来绑定数据。在窗口上执行增删改,回写,不存在任何问题

每当添加或修改一些功能时,都要手动赋值更新界面,总是担心哪里漏掉没有更新。

使用DataBinding可以实现自动绑定,当模型数据改变时,界面上绑定了模型属性的控件将自动更新,不需要手动一一赋值。

四、GridView.AllowSorting 属性:获取或设置一个值,该值指示是否启用排序功能。如果启用排序功能,则为 true;否则为 false默认值为 false

在gridview使用需要使用HyperLinkField,若要使用其向其他页面传递参数则需要使用 DataNavigateUrlFormatString定义传递页面、参数名称,使用参数绑定字段DataNavigateUrlFields,要绑定多个字段需要用“,”分割即可,如下所示:
<asp:HyperLinkField Text="查看" DataNavigateUrlFormatString="AuditQuestion_Edit.aspx?sid={0}&btd={1}&cmd=Look" DataNavigateUrlFields="sid,staskid"></asp:HyperLinkField>

 

posted @ 2021-11-16 20:35  安徒生-玺  阅读(33)  评论(0)    收藏  举报