C#中ExecuteReader、ExecuteScalar、ExecuteNonQuery
来源:互联网 发布:淘宝店铺运营规划书 编辑:程序博客网 时间:2024/05/22 17:52
1)ExecuteNonQuery():执行命令对象的SQL语句,返回一个int类型变量,如果SQL语句是对数据库的记录进行操作(如记录的增加、删除和更新),那么方法将返回操作所影响的记录条数。下面为详细的解释运用:命令对象的ExecuteNonQuery()方法用于执行任何不从数据库返回结果集的SQL操作命令,包括INSERT INTO、UPDATE、DELETE语句、没有返回数值的存储过程、CREATE TABLE和CREATEINDEX之类的DDL语句。ExecuteNonQuery方法还可用来执行目录操作,例如查询数据库的结构或创建诸如表等的数据库对象。ExecuteNonQuery方法对于UPDATE、INSERT INTO和DELETE这些操作语句,其返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为-1。如果发生回滚,返回值也为-1。假设cmd为SQL SERVER数据提供者的命令对象(即SqlCommand),cn为连接对象(保持打开状态),调用ExecuteNonQuery方法如以下代码所示。SqlCommand cmd = new SqlCommand();cmd.Connection = cn;//设置cmd的命令文本,本例为删除Table1表中id字段值大于1的记录cmd.CommandText = “DELETE FROM Table1 WHERE [id]>1”;int count = cmd.ExecuteNonQuery();以上代码中,创建了SqlCommand类型的命令对象cmd,设置其连接为连接对象cn,SQL命令文本为某个SQL语句(一般为增、删、改命令)。执行ExecuteNonQuery方法后,命令文本即通过连接对象作用到数据库中,其返回值count则为数据库中受到影响的数据记录数量。 (2)ExecuteScalar():执行命令对象的SQL语句,如果SQL语句是SELECT查询,则仅仅返回查询结果集中的第1行第1列,而忽略其他的行和列。该方法所返回的结果为object类型,在使用之前必须强制转换为所需的类型。如果SQL语句不是SELECT查询,则返回结果没有任何作用。下面为详细的方法的解释运用等:命令对象的ExecuteScalar()方法由于只能返回数据集的第1行第1列,所以常被用于执行聚合函数。假设cmd为SQL SERVER数据提供者的命令对象(即SqlCommand),cn为连接对象(保持打开状态),调用ExecuteScalar方法如以下代码所示。SqlCommand cmd = new SqlCommand();cmd.Connection = cn;//设置cmd的命令文本,本例为查询Table1表中记录的数量cmd.CommandText = “SELECT COUNT(*) FROM Table1”;int count = (int)cmd.ExecuteScalar();以上代码中,创建了SqlCommand类型的命令对象cmd,设置其连接为连接对象cn,SQL命令文本为某个SQL语句。由于返回值为object类型,所以需要进行强制转换,count变量即存储了所需数据表中记录的数量。 (3)ExecuteReader():我们通常在asp中用Recordset对象来从数据库中读出数据,并且用循环语句来一个一个的读出数据,但在我们的ADO.NET中,我们就是DataReader 对象的ExecuteReader()方法来进行数据的列出,并且我们用这个ExecuteReader()方法来显示数据是最快的一种方法,因为当我们在用ExecuteReader()方法中的DataReader 对象来进行数据的在网站建设中显示时,他只可以一条一条向前读,不能返回,也就是像ASP中的ADO方法中的Recordset 对象的Movenext一样,他没有move -1这样的返回方法。说明:如果没有数据可操作,那么只能使用调用命令对象的ExecuteReader方法,返回一个数据读取器(DataReader对象)。因为 ExecuteNonQuery()与ExecuteScalar()在没有数据的时候调用时,就会出现“对象没有实例化”的错误。所以在判断是否有数据时,应该调用数据读取器的Read()方法来检测。
0 0
- C#中ExecuteReader、ExecuteScalar、ExecuteNonQuery
- C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar如何使用
- c#中ExecuteReader ExecuteNonQuery ExecuteScalar ExecuteXmlReader的区别
- C#中ExecuteReader()、ExecuteNonQuery()、ExecuteScalar()方法的作用
- C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter应该怎么用?
- C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter应该怎么用?
- C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter应该怎么用
- C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter应该怎么用?
- ExecuteNonQuery(),ExecuteReader()与ExecuteScalar()
- ExecuteNonQuery(),ExecuteReader()与ExecuteScalar()
- ExecuteReader(),ExecuteNonQuery(),ExecuteScalar
- ExecuteScalar ExecuteReader ExecuteNonQuery 区别
- ExecuteNonQuery()、ExecuteScalar()、ExecuteReader()
- executereader ExecuteScalar ExecuteNonQuery详解
- ExecuteNonQuery(),ExecuteReader()与ExecuteScalar()
- ExecuteNonQuery,ExecuteReader,ExecuteScalar
- ExecuteNonQuery(),ExecuteReader(),ExecuteScalar(),ExecuteXmlReader()
- ExecuteNonQuery ExecuteReader ExecuteScalar
- C语言实现双向循环链表
- Android中WebView与JS的交互
- mysql的简单使用
- 纠错: 深度学习模型优化时快速收敛
- HDU 4664 Triangulation-SG函数
- C#中ExecuteReader、ExecuteScalar、ExecuteNonQuery
- Android自己的应用获取一张图片
- MAC串口开发环境搭建
- Android Studio工具修理集
- JBOSS调试启动报错 classic VM not supported; client VM will be used Unrecognized option: -
- HDU(2124)Repair the Wall补墙,贪心
- 腾讯云TAB缘何一跃成为开发者新宠?
- Hibernate 4 Second Level Caching With EHCache
- encodeURI和encodeURIComponent