Ado .Net 基础总结

Ado .Net现在渐渐就被各种ORM代替,慢慢已经很少用了,但是在某些特殊的时候还是会被用到,因此特别再次记录一下,备以后查看。

1.查询

1.1 使用 SqlDataReader

 1 using (SqlConnection cnn = new SqlConnection("data source=.;Database=test;uid=sa;password=123123"))
 2 {
 3     cnn.Open();
 4     using (SqlCommand cmd = cnn.CreateCommand())
 5     {
 6         cmd.CommandText = "SELECT * FROM  [dbo].[User]";
 7         cmd.Parameters.AddRange(new SqlParameter[] { });
 8         SqlDataReader dr = cmd.ExecuteReader();
 9         if (dr.HasRows)
10         {
11             while (dr.Read())
12             {
13                 int n = 0;
14                 while (n < dr.FieldCount) //.FieldCount获取当前行的列数
15                 {
16                     Console.Write(dr[n] + "	");
17                     n++;
18                 }
19                 Console.WriteLine();
20             }
21         }
22     }
23 }

1.2 使用 SqlDataAdapter (推荐)

 1 using (SqlConnection cnn = new SqlConnection("data source=.;Database=test;uid=sa;password=123123"))
 2 {
 3     cnn.Open();
 4     using (SqlCommand cmd = cnn.CreateCommand())
 5     {
 6         cmd.CommandText = "SELECT * FROM  [dbo].[User]";
 7         cmd.Parameters.AddRange(new SqlParameter[] { });
 8         SqlDataAdapter apter = new SqlDataAdapter(cmd);
 9         DataSet ds = new DataSet();
10         apter.Fill(ds);
11         return ds.Tables[0];
12     }
13 }

1.3 简单比较

第一种方法要获取查询出的数据需要使用类似迭代器的循环来遍历,而第二种方法可以直接获取完整的数据集并保存到DataTable中,更便于后续处理,个人更喜欢第二种使用SqlDataAdapter的方法。

2.更新&删除&添加

 1 using (SqlConnection cnn = new SqlConnection("data source=.;Database=test;uid=sa;password=123123"))
 2 {
 3     cnn.Open();
 4     using (SqlCommand cmd = cnn.CreateCommand())
 5     {
 6         cmd.CommandText = "INSERT INTO [User](UserName,Password) VAlUES('yedan','123123')";
 7         cmd.Parameters.AddRange(new SqlParameter[] { });
 8         return cmd.ExecuteNonQuery();
 9     }
10 }
原文地址:https://www.cnblogs.com/gamov/p/13093377.html