一、思维导图
二、知识点描述
SqlHelper是一个基于NET Framework的数据库操作组件。组件中包含数据库操作方法。SqlHelper用于简化重复的数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了。
三、示例代码
1 public static SqlHelper
2 {
3 //这里定义一个字符串变量,把数据库连接字符串赋值给它,也可以把连接字符串添加到配置文件,这样整个项目可以方便访问,这里为了清楚直接赋值到字符串变量
4 static string connStr = “Data Source=127.0.0.1\SQL2012; Initial Catalog=Test;User ID=test;Password=test”;
5
6
7 //执行查询语句并返回一个内存中的数据表
8 public DataTable ExecuteDataTable(string sql,params SqlParameter[] parameters)
9 //因为不确定SQL语句的参数有几个,所以使用了长度可变参数,但必须放到后面
10 {
11
12 using (SqlConnection conn = new SqlConnection(connStr))//到数据库的连接
13 {
14 conn.Open();//打开数据库连接
15 using (SqlCommand cmd = conn.CreateCommand())//创建执行对象
16 {
17 cmd.CommandText = sql;//给cmd赋值SQL语句
18 cmd.Parameters.AddRange(parameters);//把SQL语句参数添加到cmd
19 DataSet dataset = new DataSet();//新建DataSet对象,用于保存查询结果
20 SqlDataAdapter adapter = new SqlDataAdapter(cmd);//把执行cmd,更新数据结果到adapter对象
21 adapter.Fill(dataset);//adapter对象的Fill方法把结果添加到DataSet对象中
22 return dataset.Tables[0];//返回一个查询结果的一个表
23 }
24 }
25 }
26
27 //执行查询语句返回结果集合的第一行第一列
28 public Object ExecuteScalar(string sql,params SqlParameter[] parameters)
29 {
30 using(SqlConnection conn = new SqlConnection(connStr))//到数据库的连接
31 {
32 conn.Open();//打开数据库连接
33 using(SqlCommand cmd = conn.CreateCommand())//创建执行对象
34 {
35 cmd.CommandText=sql;//给cmd赋值SQL语句
36 cmd.Parameters.AddRange(parameters);//把SQL语句参数添加到cmd
37 return cmd.ExecuteScalar();//执行查询,返回查询结果的第一行的第一列
38 }
39 }
40 }
41
42 //执行参数化SQL语句,返回受影响的行数
43 public int ExecuteNonQuery(string sql,params SqlParameter[] parameters)
44 {
45
46 using (SqlConnection conn = new SqlConnection(connStr))//到数据库的连接
47 {
48 conn.Open();//打开数据库连接
49 using(SqlCommand cmd= conn.CreateCommand())//创建执行对象
50 {
51 cmd.CommandText= sql;//给cmd赋值SQL语句
52 cmd.Parameters.AddRange(parameters);//添加SQL语句中的参数
53 return cmd.ExecuteNonQuery();//执行数据库语句并返回受影响的行数
54 }
55 }
56 }
57 }