zoukankan      html  css  js  c++  java
  • 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对象,一起发送到数据库引擎执行

    巩固:

    Command

    ExecuteNonQuery —执行非查询语句,返回受影响行数

                                    在新增,删除,修改 的时候,如果我们要返回结果集那么就不能用它了

    ExecuteScalar       –执行查询,返回结果集的第一行第一列,如果结果集为空那么就返回Null

                                   在程序没有执行之前,返回值类型不确定,所以返回值是object

    ExecuteReader     –返回一个指向数据库结果集的读取器,

    DataAdapter         -直接将数据库的结果集全部一次性搬到本地的数据集(DataSet)里面

    DataReader        –指向数据库结果集的读取器,在没有调用Read方法之前,指针指向的是结果集的第一行之前

                                  通过Read方法可以使指针向前前进一个,如果当前指向的地方有数据行,那么就返回true,并且把数据装到自己内部,如果没有数据了(指向了结果集的最后一行之后),那么就返回false

                                 HasRows,这个属相可以判断当前读取器指向的结果集是否有一行或者多行,一行都没有就返回false,否则返回true,这个值,是在ExecuteReader的时候,就已经赋值了

  • 相关阅读:
    分数序列规律求和
    猴子吃桃算法
    猴子吃桃算法
    完数
    完数
    数字个数依次叠加 s=a+aa+aaa+aaaa+aa...a
    数字个数依次叠加 s=a+aa+aaa+aaaa+aa...a
    hbase(二)Java操作 hbase
    hbase scan startrow endrow 是否包括
    ListOrderedMap和Map
  • 原文地址:https://www.cnblogs.com/lisong-home/p/7748449.html
Copyright © 2011-2022 走看看