当前位置:编程学习 > C#/ASP.NET >>

C#中的 ExecuteNonQuery Executedatareader ExecuteSclar 有啥区别 具体都啥时候

希望大家帮个忙  谢谢了  能举个列子 最好不过了 --------------------编程问答-------------------- 看名字就知道。

一个不返回查询结果
一个返回 reader
一个返回单个值 --------------------编程问答-------------------- 大哥 能列举下实例吗 你这回答的也太简单了吧 --------------------编程问答-------------------- ExecuteNonQuery(),ExecuteScalar(),ExecuteReader方法的区别: 
1、ExecuteNonQuery():执行SQL,返回一个整型变量,如果SQL是对数据库的记录进行操作,那么返回操作影响的记录条数,如果是SQL="CREATE TABLE LookupCodes (code_id smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, code_desc varchar(50) NOT NULL)"那么在表创建成功后该方法返回 -1。 
例如: 
private void Page_Load(object sender, System.EventArgs e) 

MyConnection.Open();’打开数据库 
MyCommand1.CommandText = "CREATE TABLE LookupCodes (code_id smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, code_desc varchar(50) NOT NULL)"; MyCommand1.Connection = MyConnection; 
MyCommand1.ExecuteNonQuery();’首先建立一个LookupCodes表,然后返回-1 
//或者MyCommand1.ExecuteReader();首先建立一个LookupCodes表,然后返回一个System.Data.OleDb.OleDbDataReader类型的对象,该对象为:EOF 
//或者MyCommand1. ExecuteScalar();首先建立一个LookupCodes表,返回未实列化的对象 
MyConnection.Close(); 



2、 ExecuteScalar():执行SQL,(如果SQL是查询Select)返回查询结果的第一行第一列,如果(如果SQL不是查询Select)那么返回未实列化的对象,因为对象未实列化,所以返回结果不能ToString(),不能Equals(null),也就是说返回结果没有任何作用 

3、 executeReader方法执行SQL,(如果SQL是查询Select)返回查询结果的集合,类型是System.Data.OleDb.OleDbDataReader,你可以通过此结果,获取查询的数据。如果(如果SQL不是查询Select)那么返回一个没有任何数据的System.Data.OleDb.OleDbDataReader类型的集合(EOF)  --------------------编程问答--------------------  ExecuteNonQuery 执行insert update delete,返回影响的行数

Executedatareader  以只进行的形式 读取数据库行数

 ExecuteSclar 返回记录集第一行第一列的值 ,object类型 --------------------编程问答-------------------- http://hi.baidu.com/dwxgundam/blog/item/194499fb29a0fa275d600836.html

有详细例子 --------------------编程问答-------------------- ExecuteNonQuery Executedatareader ExecuteScalar 

第一个:执行删除,修改,增加操作,返回受影响的行数
第三个: 读取返回数据的第一行第一列的值,为object类型。 --------------------编程问答-------------------- ExecuteNonQuery  受影响的行数
Executedatareader  用于遍历
ExecuteSclar   第一行第一列 --------------------编程问答--------------------
引用 4 楼 wknight_it 的回复:
 ExecuteNonQuery 执行insert update delete,返回影响的行数

Executedatareader  以只进行的形式 读取数据库行数

 ExecuteSclar 返回记录集第一行第一列的值 ,object类型
同意
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,