• ASP.NET常用的SqlDbHelper类


    请引用

    using System.Data;
    using System.Data.SqlClient;

    两个命名空间。

    可以满足常用的数据集,读取多条数据,以及增删改操作

    代码:

      1 /// <summary>
      2 /// DBHelper 的摘要说明
      3 /// </summary>
      4 public class SqlDbHelper
      5 {
      6     /// <summary>
      7     /// Contacts数据库的连接字符串
      8     /// </summary>
      9     public static readonly string connString = ConfigurationManager.ConnectionStrings["ContactsConnStr"].ConnectionString;
     10     /// <summary>
     11     /// 返回数据集以及他们的重载
     12     /// </summary>
     13     /// <param name="commandText"></param>
     14     /// <param name="commandType"></param>
     15     /// <param name="parameters"></param>
     16     /// <returns></returns>
     17     public static DataTable ExecuteDataTable(string commandText, CommandType commandType, SqlParameter[] parameters)
     18     {
     19         DataTable data = new DataTable();//实例化 DataTable,用于装载查询结果集
     20         using (SqlConnection connection = new SqlConnection(connString))
     21         {
     22             using (SqlCommand command = new SqlCommand(commandText, connection))
     23             {
     24                 //设置 command 的 CommandType 为指定的 CommandType
     25                 command.CommandType = commandType;
     26                 //如果同时传入了参数,则添加这些参数
     27                 if (parameters != null)
     28                 {
     29                     foreach (SqlParameter parameter in parameters)
     30                     {
     31                         command.Parameters.Add(parameter);
     32                     }
     33                 }
     34                 //通过包含查询 SQL 的 SqlCommand 实例来实例化 SqlDataAdapter
     35                 SqlDataAdapter adapter = new SqlDataAdapter(command);
     36                 adapter.Fill(data);//填充 DataTable
     37             }
     38         }
     39         return data;
     40     }
     41     public static DataTable ExecuteDataTable(string commandText)
     42     {
     43         return ExecuteDataTable(commandText, CommandType.Text, null);
     44     }
     45     public static DataTable ExecuteDataTable(string commandText, CommandType commandType)
     46     {
     47         return ExecuteDataTable(commandText, commandType, null);
     48     }
     49     /// <summary>
     50     /// SqlDataReader 获取多条语句以及重载
     51     /// </summary>
     52     /// <param name="commandText"></param>
     53     /// <param name="commandType"></param>
     54     /// <param name="parameters"></param>
     55     /// <returns></returns>
     56     public static SqlDataReader ExecuteReader(string commandText, CommandType commandType, SqlParameter[] parameters)
     57     {
     58         SqlConnection connection = new SqlConnection(connString);
     59         SqlCommand command = new SqlCommand(commandText, connection);
     60         //设置 command 的 CommandType 为指定的 CommandType
     61         command.CommandType = commandType;
     62         //如果同时传入了参数,则添加这些参数
     63         if (parameters != null)
     64         {
     65             foreach (SqlParameter parameter in parameters)
     66             {
     67                 command.Parameters.Add(parameter);
     68             }
     69         }
     70         connection.Open();
     71         //CommandBehavior.CloseConnection 参数指示关闭 Reader 对象时
     72         //关闭与其关联的 Connection 对象
     73         return command.ExecuteReader(CommandBehavior.CloseConnection);
     74     }
     75     public static SqlDataReader ExecuteReader(string commandText)
     76     {
     77         return ExecuteReader(commandText, CommandType.Text, null);
     78     }
     79     public static SqlDataReader ExecuteReader(string commandText, CommandType
     80     commandType)
     81     {
     82         return ExecuteReader(commandText, commandType, null);
     83     }
     84     /// <summary>
     85     /// 检索单个值的 ExecuteScalar 方法以及重载
     86     /// </summary>
     87     /// <param name="commandText"></param>
     88     /// <param name="commandType"></param>
     89     /// <param name="parameters"></param>
     90     /// <returns></returns>
     91     public static Object ExecuteScalar(string commandText, CommandType commandType, SqlParameter[] parameters)
     92     {
     93         object result = null;
     94         using (SqlConnection connection = new SqlConnection(connString))
     95         {
     96             using (SqlCommand command = new SqlCommand(commandText, connection))
     97             {
     98                 //设置 command 的 CommandType 为指定的 CommandType
     99                 command.CommandType = commandType;
    100                 //如果同时传入了参数,则添加这些参数
    101                 if (parameters != null)
    102                 {
    103                     foreach (SqlParameter parameter in parameters)
    104                     {
    105                         command.Parameters.Add(parameter);
    106                     }
    107                 }
    108                 connection.Open();//打开数据库连接
    109                 result = command.ExecuteScalar();
    110             }
    111         }
    112         return result;//返回查询结果的第一行第一列,忽略其它行和列
    113     }
    114     public static Object ExecuteScalar(string commandText)
    115     {
    116         return ExecuteScalar(commandText, CommandType.Text, null);
    117     }
    118     public static Object ExecuteScalar(string commandText, CommandType commandType)
    119     {
    120         return ExecuteScalar(commandText, commandType, null);
    121     }
    122     /// <summary>
    123     /// 增删改操作的 ExecuteNonQuery 方法
    124     /// </summary>
    125     /// <param name="commandText"></param>
    126     /// <param name="commandType"></param>
    127     /// <param name="parameters"></param>
    128     /// <returns></returns>
    129     public static int ExecuteNonQuery(string commandText, CommandType commandType,SqlParameter[] parameters)
    130     {
    131         int count = 0;
    132         using (SqlConnection connection = new SqlConnection(connString))
    133         {
    134             using (SqlCommand command = new SqlCommand(commandText, connection))
    135             {
    136                 //设置 command 的 CommandType 为指定的 CommandType
    137                 command.CommandType = commandType;
    138                 //如果同时传入了参数,则添加这些参数
    139                 if (parameters != null)
    140                 {
    141                     foreach (SqlParameter parameter in parameters)
    142                     {
    143                         command.Parameters.Add(parameter);
    144                     }
    145                 }
    146                 connection.Open();//打开数据库连接
    147                 count = command.ExecuteNonQuery();
    148             }
    149         }
    150         return count;//返回执行增删改操作之后,数据库中受影响的行数
    151     }
    152     public static int ExecuteNonQuery(string commandText)
    153     {
    154         return ExecuteNonQuery(commandText, CommandType.Text, null);
    155     }
    156     public static int ExecuteNonQuery(string commandText, CommandType commandType)
    157     {
    158         return ExecuteNonQuery(commandText, commandType, null);
    159     }
    160 }

    后期再补充。。

  • 相关阅读:
    iOS开发UI—Button基础
    iOS开发UI—UIWindow介绍
    第43月第27天 nginx keeplike高可用
    第43月第23天 商品秒杀 乐观锁
    第43月第22天 github 工程 svn checkout ipa瘦身
    第43月第21天 h264文件格式
    第43月第17天 iOS 子线程开启、关闭runloop performSelector
    第43月第15天 nginx负载均衡 redis
    第43月第11天 kCVPixelFormatType_420YpCbCr8BiPlanarFullRange转rgb
    第43月第10天 uiimage写文件
  • 原文地址:https://www.cnblogs.com/fanling521/p/5363323.html
Copyright © 2020-2023  润新知