您的位置:首页 > 产品设计 > UI/UE

ExecuteNonQuery、ExecuteScalar、Dataset、ExecuteReader的不同意思和用法

2016-11-09 12:15 441 查看
ExecuteNonQuery、ExecuteScalar、Dataset、ExecuteReader的不同意义和用法
  1. ExecuteNonQuery 方法执行

一个非查询语句( Update 、 Insert 、 Delete 等) 

  返回值是执行的影响行数,返回类型为int

  例如:

  using (SqlCommand cmd = conn.CreateCommand())

  {

cmd.CommandText = "Insert into 

  T_Users(UserName,Password) values('admin','888888')";

cmd.ExecuteNonQuery();



  2.ExecuteScalar用于执行查询,并返回查询所返回的结果集中第一行的第一列,返回类型为object

  例如:

  (1).

  cmd.CommandText = "select count(*) from T_Users";int i = 

Convert.ToInt32(cmd.ExecuteScalar()) 

  (2).

  得到自动增长字段的主键值,在 values 关键词前加上 output 

inserted.Id ,其中 Id 为主键字段名。执行结果就试插入的主键值,用 

ExecuteScalar 执行最方便。 

  cmd.CommandText = "Insert into T_Users(UserName,Password) 

  output inserted.Id values('admin','888888')"; 

int i = Convert.ToInt32(cmd.ExecuteScalar());

  3.ExecuteReader执行有多行结果集的

  SqlDataReader reader = cmd.ExecuteReader();...

while (reader.Read())

{ Console.WriteLine(reader.GetString(1))



4.DataSet
  SqlDataAdapter是DataSet和数据库之间沟通的桥梁,数据集DataSet包含若干表DataTable。

  DataSet dataset = new DataSet(); SqlDataAdapter adapter = new 

SqlDataAdapter(cmd); adapter.Fill(dataset);

SqlDataAdapter 是 DataSet 和数据库之间沟通的桥梁。数据集 DataSet 包

含若干表 DataTable , DataTable 包含若干行 DataRow 。 foreach 

(DataRow row in dataset.Tables[0].Rows) row["Name"] 。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐