首页 > 代码库 > 数据库2_sqlHelper

数据库2_sqlHelper

封装一个受影响的行

 1  public static int ExcuteNonQuery(string sqlText,params SqlParameter[] parameters)
 2         {
 3             using (SqlConnection conn = new SqlConnection(GetSqlConnectionString()))
 4             {
 5                 using (SqlCommand cmd = conn.CreateCommand())
 6                 {
 7                     conn.Open();
 8                     cmd.CommandText = sqlText;
 9                     cmd.Parameters.AddRange(parameters);//把参数添加到cmd命令中。
10                     return cmd.ExecuteNonQuery();
11                 }
12             }
13         }

执行sql。返回 查询结果中的 第一行第一列的值

 1   #region 执行sql。返回 查询结果中的 第一行第一列的值
 2 
 3         public static object ExcuteScalar(string sqlText, params SqlParameter[] parameters)
 4         {
 5             using (SqlConnection conn = new SqlConnection(GetSqlConnectionString()))
 6             {
 7                 using (SqlCommand cmd = conn.CreateCommand())
 8                 {
 9                     conn.Open();
10                     cmd.CommandText = sqlText;
11                     cmd.Parameters.AddRange(parameters);
12                     return cmd.ExecuteScalar();
13                 }
14             }
15         }
16 
17         public static T ExcuteScalar<T>(string sqlText, params SqlParameter[] parameters)
18             //where T:UserInfo要求必须继承某个类型
19             //where T:class //必须是类
20             //where T:new () //要求T必须有默认构造函数
21             
22             //where 可以现在T类型,必须是class,必须有构造函数,必须继承或者实现某个类或者接口。
23         {
24             using (SqlConnection conn = new SqlConnection(GetSqlConnectionString()))
25             {
26                 using (SqlCommand cmd = conn.CreateCommand())
27                 {
28                     conn.Open();
29                     cmd.CommandText = sqlText;
30                     cmd.Parameters.AddRange(parameters);
31                     return (T)cmd.ExecuteScalar();
32                     //int? i = 0;
33                     //object num = i;
34                     //i = num as int?;
35                 }
36             }
37         }
38         #endregion

 执行sql 返回一个DataTable

 1   public static DataTable ExcuteDataTable(string sqlText, params SqlParameter[] parameters)
 2         {
 3             using (SqlDataAdapter adapter = new SqlDataAdapter(sqlText, GetSqlConnectionString()))
 4             {
 5                 DataTable dt =new DataTable();
 6                 adapter.SelectCommand.Parameters.AddRange(parameters);
 7                 adapter.Fill(dt);
 8                 return dt;
 9             }
10         }

执行sql 脚本,返回一个SqlDataReader

 1   public static SqlDataReader ExucteReader(string sqlText, params SqlParameter[] parameters)
 2         {
 3             //SqlDataReader要求,它读取数据的时候,它哟啊独占 它的SqlConnection对象,而且SqlConnection必须是Open状态。
 4             SqlConnection conn =new SqlConnection(GetSqlConnectionString());//不要释放连接,因为后面还要需要连接打开状态。
 5             SqlCommand cmd = conn.CreateCommand();
 6             conn.Open();
 7             cmd.CommandText = sqlText;
 8             cmd.Parameters.AddRange(parameters);
 9             //CommandBehavior.CloseConnection:代表,当SqlDataReader释放的时候,顺便把SqlConnection对象也释放掉。
10             return cmd.ExecuteReader(CommandBehavior.CloseConnection);

 

另外还赋这片也是可以参考,上文是根据EF来判断的 http://www.cnblogs.com/lishuangzhe/archive/2013/08/26/SqlHelper.html

数据库2_sqlHelper