zoukankan      html  css  js  c++  java
  • C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter的区别

    ExecuteNonQuery()执行命令对象的SQL语句,返回一个int 类型的变量,返回数据库操作之后影响的行数。适合用来验证对数据库进行增删改的情况。

    2、ExecuteScalar()也可以执行sql语句。如果SQL语句是Select查询,则仅仅返回查询结果集中第一行第一列,而忽略其他行和列。如果SQL语句不是Select查询,则这个返回结果没任何作用。(建议查询数据库时使用)  由于不知道sql语句到底是什么样的结构(有可能是int,有可能是Char等其它,)所以ExecuteScalar()方法返回一个最基本的类型Object,这个类型是所有类型的基类,可以转换为任意类型,所以所以用前需强制转换。一般用在插入语句后加上一个 select @@identity; 返回插入ID

    3.ExecuteReader方法存在的目的:尽可能快的对数据库进行查询并得到结果;ExecuteReader 返回一个DataReader对象,如果在SqlCommand对象中调用,则返回SqlDataReader,如果在OledbCommand对象中调用,返回的是OledbDataReader,可以调用DataReader的方法和属性迭代处理结果集。

    4.qlDataReader与SqlDataAdapter+DataSet的区别

    一,SqlDataReader //基于连接,只读访问 适合数据量较小。(连接模式)

          SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库。要求资源也大一点  (断开模式)

    二,SqlDataAdapter 读取数据后将数据集放入DataSet ,DataSet 的数据存在本地客服机内存。

    三,SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活,一般在只读的时候才用到。

          SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作

    原博客地址:https://www.cnblogs.com/wangjian920110/p/5456369.html

  • 相关阅读:
    linux下TOMCAT自启动
    Tomcat指定(JDK路径)JAVA_HOME而不用环境变量
    Windows防火墙无法正常打开或关闭,上方显示"出于安全原因 某些设置由系统管理员管理”解决方法
    Windows实用操作
    [INS-30131]执行安装程序验证所需的初始设置失败(无法访问临时位置)解决方法!
    Linux 网络一般设置
    集合(set)-Python3
    zip函数-Python 3
    enumerate用法总结-Python 3
    Python3中的字符串函数学习总结
  • 原文地址:https://www.cnblogs.com/ljysy/p/10134279.html
Copyright © 2011-2022 走看看