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 第一行第一列 --------------------编程问答-------------------- 同意
补充:.NET技术 , C#