Net学习日记_ADO.Net_2_复习总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Net学习日记_ADO.Net_2_复习总结相关的知识,希望对你有一定的参考价值。

一、ExecuteNonQuery()  执行非查询语句。

       insert update delete 三种基本语句,返回的是数据库,受影响行数。

       在insert中,如果有输出insered.id ,会返回一个结果集,这个结果集只包含一行一列,这一行一列,就是刚才新增的id。

 

二、什么是结果集:sql语句被发送到数据库引擎,执行之后的一个结果的集合。

 

三、ExecuteScalar()  取得结果集的首行,首列的值,

       因为,这一列的类型不确定,所以返回的是object类型,需要我们自己转换类型,因为我们写sql语句的时候,就能确定,将要返回的结果集的首行首列是什么类型的了,如果返回的结果集一行一列都木有,那么这个方法就返回null(C#)。

 

四、ExecuteReader()  执行查询,返回一个读取器这个读取器指向结果集,结果集是在服务器内存中的。

 

五、DataReader,内部的指针默认是指向结果集的第一行的前面的,只有我们调用了DataReader.Read() 这样,会到服务器去拿一行数据,才会向前移动一次指针。

                              DaTaReader.HasRows这个属性,是表示当前读取器指向的服务器结果集是否有任何一行数据,只要有数据,不管有多少行,都返回true,一行都木有的,才返回false。

                              在Cmd.ExecutReader(),数据库查询完,就生成结果集,根据结果集返回读取器,这时候,读取器的HasRows属性就被赋值了

                              Read() 将指向数据库结果集的指针,向前进一个,并且返回这一行的数据,然后保存在dr中,这样我们就取到当前指向的这一行的数据

 

六、Try Catch 保证一个功能出错了,不会 影响另外的功能,出错的代码在try中,只会影响后面的几行。

 

七、注入漏洞:拼接出特殊的sql语句,造成数据库执行错误(和预期的执行结果不一致的结果),使用参数化查询可以避免

 参数化查询:在交给Command对象的sql语句中,用一个@加上几个字符,组成的一个参数名字,如:@name

                      然后借助Parameter类,来创建参数对象,并且交给command对象,一起发送到数据库引擎执行

 

整个ADO包含两大部分:数据提供程序,和数据集

 

NonQuery :非查询,只要影响行数

Scalar :查询出来的数据,只要第一行第一列

Reader:查询出来的数据,全部都要(所有行,所有列),大数据量的

DataSet:查询出来的数据,全部都要(所有行,所有列),比较小数据量的,因为 DataSet是一次新吧所有查询出来的数据全部都搬回 本地内存中

以上是关于Net学习日记_ADO.Net_2_复习总结的主要内容,如果未能解决你的问题,请参考以下文章

Net学习日记_三层_1_登录页面总结篇

Net学习日记_js笔记

ADO.NET_01

大数据技术之_09_Hive学习_复习与总结

Net学习日记_ASP.Net_Ajax

Net学习日记_ASP.Net_MVC_Ajax