H咖啡豆

ADO.NET MSSSQLServer 操作简要总结

1)、数据库操作首先应该是链接,链接的方式有多种,不论怎样实现最终都是把链接字符串赋值给实现了 继承自DbConnection 类的SqlConnection类实例的ConnectionString属性;

2)、链接后就是执行操作,创建继承自DbCommand类的子类对象SqlCommand,将上面创建的Connection对象传递给SqlCommand对象 ,将要执行的sql语句传递给其CommandText属性;参数利用SqlCommand对象的SqlParameterCollection类型的Parameters属
性的一系列Add或AddWithValue方法添加参数(如果是通过接口 IDbConnection、IDbCommand、IDataReader建立不同数据库的操作可以用DbProviderFactories解除依赖关系);

3)、打开连接对象;

4)、操作:

  • 使用Command对象的ExecuteNonQuery方法执增、删、改行并返回受影响行数;
  • 使用Command对象的ExecuteScalar查询单个数据
  • 查询只说DataReader,关于DataReader与DataSet的之类的东西可以搜出很多;之后使用只有一个有internal修饰的构造函数SqlDatareader(继承自DbDataReader)的实例变量接收SqlCommond对象 ExecuteReader方法执行后返回的SqlDataReader类型的对象;最后使用循环取出DataReader中的数据;

5)、最后是关闭、销毁此次链接。

 1              string conStr = "server=xx;database=xx;User id=xx;pwd=xx";
 2              SqlConnection con = new SqlConnection(conStr);
 3              string sqlStr = "";
 4               
 5        //SqlCommand cmd = new SqlCommand(sqlStr, con);
 6              SqlCommand cmd = new SqlCommand();
 7              cmd.Connection = con;
 8              cmd.CommandText = sqlStr;
 9              cmd.Parameter.Add("@",xxxx);
10              //cmd.Parameters.AddWithValue("@",xxxx);
11 
12              con.Open();
13 
14              //int nums=cmd.ExecuteNonQuery();
15              // var value=cmd.ExecuteScalar();
16  
17              SqlDataReader dr = cmd.ExecuteReader();
18              if (dr.HasRows)
19              {
20                  while (dr.Read())
21                  {
22                      
23                  }
24              }
25 
26              dr.Close();
27              con.Close();
28              con.Dispose(); 

 

 DataReader读取数据速度很快,有很多条数据时对内存的影响也是很少的,只能向前读取等;对于应用程序来说数据库操作是很平常的事,尤其是数据的展示,我写的ASP.Net程序中目前的操作中读取数据基本都是DataReader,因为开始只知道使用SqlDataAdapter,自己玩什么因素都发现不了,不适用这个东西,并不是不好,使用什么还得看应用的地方和自己的爱好。

2013/12/18

posted on 2013-12-18 12:18  H咖啡豆  阅读(320)  评论(0编辑  收藏  举报

导航