C#中ExecuteReader()、ExecuteNonQuery()、ExecuteScalar()方法的作用
5个回答
展开全部
ExecuteScalar方法返回的类型是object类型,这个方法返回sql语句执行后的第一行第一列的值,由于不知到sql语句到底是什么样的结构(有可能是int,有可能是char等等),所以ExecuteScalar方法返回一个最基本的类型object,这个类型是所有类型的基类,换句话说:可以转换为任意类型。
ExecuteNonQuery方法是用来执行insert、delete、update语句的,由于这些语句执行后只有一个结果:“影响了**行”,所以ExecuteNonQuery方法返回的是影响的行数(int)。
虽然SQL中列的name本身就是字符串类型,但是你通过dataReader["name"]这种方式访问这个字段,必须强制类型转换,因为dataReader["name"]就像一个数组,数组中的每个元素的类型都应该一样,所以dataReader[]这个数组中的元素类型也被定义为object类型,以方便转换。
ExecuteNonQuery方法是用来执行insert、delete、update语句的,由于这些语句执行后只有一个结果:“影响了**行”,所以ExecuteNonQuery方法返回的是影响的行数(int)。
虽然SQL中列的name本身就是字符串类型,但是你通过dataReader["name"]这种方式访问这个字段,必须强制类型转换,因为dataReader["name"]就像一个数组,数组中的每个元素的类型都应该一样,所以dataReader[]这个数组中的元素类型也被定义为object类型,以方便转换。
展开全部
ExecuteReader() 一般是执行查询命令 他返回的是一个 DateReader对象 这个对象可以装载多条数据 比如(select * from 表 这个语句执行完之后 表里面的全部数据 全部会装在这个DateReader对象里面)
、ExecuteNonQuery() 它返回这个语句执行后所受影响行数 比如(Update 表 set 列=“asd” where ID=1 返回的是1 因为他更新了一条数据)
、ExecuteScalar() 它接收的是一个Object类型数据 比如(select count(*) from 表 它得到的就是 这个表里面有多少条数据)
、ExecuteNonQuery() 它返回这个语句执行后所受影响行数 比如(Update 表 set 列=“asd” where ID=1 返回的是1 因为他更新了一条数据)
、ExecuteScalar() 它接收的是一个Object类型数据 比如(select count(*) from 表 它得到的就是 这个表里面有多少条数据)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ExecuteReader() 一般是连接数据库 操作查询的 返回的是个adapter
、ExecuteNonQuery() 执行数据库 非查询类操作
、ExecuteScalar()
类型:System.Object
结果集中第一行的第一列;如果结果集为空,则为空引用(在 Visual Basic 中为 Nothing)。 返回的最大字符数为 2033 个字符。
推荐上msdn
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executescalar.aspx
、ExecuteNonQuery() 执行数据库 非查询类操作
、ExecuteScalar()
类型:System.Object
结果集中第一行的第一列;如果结果集为空,则为空引用(在 Visual Basic 中为 Nothing)。 返回的最大字符数为 2033 个字符。
推荐上msdn
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executescalar.aspx
参考资料: http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executescalar.aspx
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ExecuteReader 返回一个DataReader, DataReader 是一个只进游标, 用于读取表中的数据, 读取时, 必须 要和数据库保持连接,
ExecuteNonQuery 用于执行 Delete, Update, Insert, 语句, 返回影响行数
ExecuteScalar 只读取首行首列
ExecuteNonQuery 用于执行 Delete, Update, Insert, 语句, 返回影响行数
ExecuteScalar 只读取首行首列
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ExecuteReader()读取数据库中的数据
ExecuteNonQuery()返回数据库操作之后影响的行数,返回int类型。
ExecuteScalar()检索数据库中单个值,返回object类型。
ExecuteNonQuery()返回数据库操作之后影响的行数,返回int类型。
ExecuteScalar()检索数据库中单个值,返回object类型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询