6-28笔记

0、往数据库中插入数据,如果数据为空的话,要用DBNull.Value来做。
例如:string sql = "insert into TblPerson output inserted.autoId values(@name,@age,@height,@gender)";
            SqlParameter[] pms = new SqlParameter[] {
            new SqlParameter("@name",model.UName),
            new SqlParameter("@age",model.Age),
            new SqlParameter("@height",model.Height==null?DBNull.Value:(object)model.Height),
            new SqlParameter("@gender",model.Gender==null?DBNull.Value:(object)model.Gender)
            };
              
1、由于更新语句是更新的表中所有的列,这时用户实际可能只更新部分的列,那么对于那些其他的用户没有要更新的列,则还是原来的值,所以这时需要将数据库中原来这行中的数据查询出来赋值给model,然后再更新。

2、DAL,BLL,类库。拼Sql写在DAL层。

3、三层架构的好处:解耦:解除耦合。分工合作,开发人员乐意专注于某一层。可移植性。

4、string、Person(引用类型)等是可null的,但是int、bool、datetime(值类型)是不可为null的,在不可空类型后加“?”就是可空类型了,HasValue、Value。

5、获得自增字段值的两种方法:“insert ...; select @@identity”、“insert into ....) output inserted.id values”,使用ExecuteScalar执行。

6、Model是在各层之间传递数据用的。用定做蛋糕来比喻,蛋糕的规格、文字就是Model,蛋糕师是DAL,BLL是售货员,UI是用户。

7、三层:UI(界面,UserInterface)、BLL、DAL。Model是在三层之间进行数据传递的。UI层调用BLL、BLL调用DAL,数据用Model传递,UI不能直接调用DAL。Model不是一个层。

8、DAL层只有SQL语句和数据处理,其它层一般不应该出现SQL语句以及和ado.net相关的类简单的bll只是调用dal,但是bll不是打酱油的:数据校验应该放到bll。

9、DataGreeview中的SelectionMode的属性可以修改FullRowSelect可以显示选中整行。选中行改变事件
,RowEnter事件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值