zoukankan      html  css  js  c++  java
  • C# ado.net sqlhelper

      1     /// <summary>
      2     /// ado.net方式执行sql语句
      3     /// </summary>
      4     public class SqlHelper
      5     {
      6         /// <summary>
      7         /// 执行sql语句,进行查询操作(推荐)
      8         /// </summary>
      9         /// <param name="sqlStr">sql语句</param>
     10         /// <param name="parm">参集合数</param>
     11         /// <returns>dataset结果集</returns>
     12         public static DataSet ExcuteSqlDataSet(string sqlStr, string conStr, params SqlParameter[] param)
     13         {
     14             try
     15             {
     16                 conStr = string.IsNullOrWhiteSpace(conStr) ? Connection.SqlConnetionStr() : conStr;
     17                 using (SqlConnection conn = new SqlConnection(conStr))
     18                 {
     19                     conn.Open();
     20                     using (SqlCommand cmd = conn.CreateCommand())
     21                     {
     22                         cmd.CommandText = sqlStr;
     23                         if (param != null)
     24                         {
     25                             foreach (var item in param)
     26                             {
     27                                 if (!string.IsNullOrWhiteSpace(item.Value.ToString_()))
     28                                 {
     29                                     cmd.Parameters.Add(item);
     30                                 }
     31                                 else
     32                                 {
     33                                     item.Value = DBNull.Value;
     34                                     cmd.Parameters.Add(item);
     35                                 }
     36                             }
     37                         }
     38                         //cmd.Parameters.AddRange(parm);
     39                         cmd.CommandTimeout = 180;
     40                         SqlDataAdapter adapter = new SqlDataAdapter(cmd);
     41                         DataSet dataset = new DataSet();
     42                         //cmd.Prepare();
     43                         adapter.Fill(dataset);
     44                         cmd.Parameters.Clear();
     45                         return dataset;
     46                     }
     47                 }
     48             }
     49             catch (Exception ex)
     50             {
     51                 throw ex;
     52             }
     53         }
     54 
     55         /// <summary>
     56         /// 执行sql语句,进行查询操作(推荐)
     57         /// </summary>
     58         /// <param name="sqlStr">sql语句</param>
     59         /// <param name="parm">参集合数</param>
     60         /// <returns>dataset结果集</returns>
     61         public static DataSet ExcuteSqlDataSet2(string sqlStr, string conStr, List<SqlParameter> param)
     62         {
     63             try
     64             {
     65                 conStr = string.IsNullOrWhiteSpace(conStr) ? Connection.SqlConnetionStr() : conStr;
     66                 using (SqlConnection conn = new SqlConnection(conStr))
     67                 {
     68                     conn.Open();
     69                     using (SqlCommand cmd = conn.CreateCommand())
     70                     {
     71                         cmd.CommandText = sqlStr;
     72                         if (param != null)
     73                         {
     74                             foreach (var item in param)
     75                             {
     76                                 if (!string.IsNullOrWhiteSpace(item.Value.ToString_()))
     77                                 {
     78                                     cmd.Parameters.Add(item);
     79                                 }
     80                                 else
     81                                 {
     82                                     item.Value = DBNull.Value;
     83                                     cmd.Parameters.Add(item);
     84                                 }
     85                             }
     86                         }
     87                         //cmd.Parameters.AddRange(parm);
     88                         cmd.CommandTimeout = 180;
     89                         SqlDataAdapter adapter = new SqlDataAdapter(cmd);
     90                         DataSet dataset = new DataSet();
     91                         //cmd.Prepare();
     92                         adapter.Fill(dataset);
     93                         cmd.Parameters.Clear();
     94                         return dataset;
     95                     }
     96                 }
     97             }
     98             catch (Exception ex)
     99             {
    100                 throw ex;
    101             }
    102         }
    103 
    104         /// <summary>
    105         /// 执行sql语句,执行增删改操作
    106         /// </summary>
    107         /// <param name="sql">sql语句</param>
    108         /// <param name="param">参数集合</param>
    109         /// <returns>受影响条数</returns>
    110         public static int ExecuteNonQuery(string sql, string conStr, params SqlParameter[] param)
    111         {
    112             try
    113             {
    114                 conStr = string.IsNullOrWhiteSpace(conStr) ? Connection.SqlConnetionStr() : conStr;
    115                 int n = -1;
    116                 using (SqlConnection con = new SqlConnection(conStr))
    117                 {
    118                     using (SqlCommand cmd = new SqlCommand(sql, con))
    119                     {
    120                         if (param != null)
    121                         {
    122                             foreach (var item in param)
    123                             {
    124                                 if (!string.IsNullOrWhiteSpace(item.Value.ToString_()))
    125                                 {
    126                                     cmd.Parameters.Add(item);
    127                                 }
    128                                 else
    129                                 {
    130                                     item.Value = DBNull.Value;
    131                                     cmd.Parameters.Add(item);
    132                                 }
    133                             }
    134                         }
    135                         //cmd.Parameters.AddRange(param);
    136                         con.Open();
    137                         n = cmd.ExecuteNonQuery();
    138                     }
    139                 }
    140                 return n;
    141             }
    142             catch (Exception ex)
    143             {
    144                 throw ex;
    145             }
    146         }
    147 
    148         /// <summary>
    149         /// 执行sql语句,执行增删改操作
    150         /// </summary>
    151         /// <param name="sql">sql语句</param>
    152         /// <param name="param">参数集合</param>
    153         /// <returns>受影响条数</returns>
    154         public static int ExecuteNonQuery2(string sql, string conStr, List<SqlParameter> param)
    155         {
    156             try
    157             {
    158                 conStr = string.IsNullOrWhiteSpace(conStr) ? Connection.SqlConnetionStr() : conStr;
    159                 int n = -1;
    160                 using (SqlConnection con = new SqlConnection(conStr))
    161                 {
    162                     using (SqlCommand cmd = new SqlCommand(sql, con))
    163                     {
    164                         if (param != null)
    165                         {
    166                             foreach (var item in param)
    167                             {
    168                                 if (!string.IsNullOrWhiteSpace(item.Value.ToString_()))
    169                                 {
    170                                     cmd.Parameters.Add(item);
    171                                 }
    172                                 else
    173                                 {
    174                                     item.Value = DBNull.Value;
    175                                     cmd.Parameters.Add(item);
    176                                 }
    177                             }
    178                         }
    179                         //cmd.Parameters.AddRange(param);
    180                         con.Open();
    181                         n = cmd.ExecuteNonQuery();
    182                     }
    183                 }
    184                 return n;
    185             }
    186             catch (Exception ex)
    187             {
    188                 throw ex;
    189             }
    190         }
    191 
    192         /// <summary>
    193         /// SqlBulkCopy批量插入数据
    194         /// </summary>
    195         /// <param name="connectionStr">链接字符串</param>
    196         /// <param name="dataTableName">表名</param>
    197         /// <param name="sourceDataTable">数据源</param>
    198         /// <param name="batchSize">一次事务插入的行数</param>
    199         public static void BulkCopy(string connectionStr, string dataTableName, DataTable sourceDataTable, int batchSize = 100000)
    200         {
    201             connectionStr = string.IsNullOrWhiteSpace(connectionStr) ? Connection.SqlConnetionStr() : connectionStr;
    202 
    203             using (SqlConnection connection = new SqlConnection(connectionStr))
    204             {
    205                 using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(connectionStr, SqlBulkCopyOptions.UseInternalTransaction))
    206                 {
    207                     try
    208                     {
    209                         sqlBulkCopy.DestinationTableName = dataTableName;
    210                         sqlBulkCopy.BatchSize = batchSize;
    211                         for (int i = 0; i < sourceDataTable.Columns.Count; i++)
    212                         {
    213                             sqlBulkCopy.ColumnMappings.Add(sourceDataTable.Columns[i].ColumnName, sourceDataTable.Columns[i].ColumnName);
    214                         }
    215                         sqlBulkCopy.WriteToServer(sourceDataTable);
    216                     }
    217                     catch (Exception ex)
    218                     {
    219                         throw ex;
    220                     }
    221                 }
    222             }
    223         }
    224 
    225         /// <summary>
    226         /// 执行存储过程,返回DataSet
    227         /// </summary>
    228         /// <param name="storedProcedure"></param>
    229         /// <param name="conStr"></param>
    230         /// <param name="param"></param>
    231         /// <returns></returns>
    232         public static DataSet ExcuteStoredProcedure(string storedProcedure, string conStr, List<SqlParameter> param)
    233         {
    234             try
    235             {
    236                 conStr = string.IsNullOrWhiteSpace(conStr) ? Connection.SqlConnetionStr() : conStr;
    237 
    238                 using (SqlConnection conn = new SqlConnection(conStr))
    239                 {
    240                     SqlCommand cmd = conn.CreateCommand();
    241                     cmd.CommandType = CommandType.StoredProcedure; //指定执行存储过程操作
    242                     cmd.CommandText = storedProcedure; //存储过程名称 
    243                     if (param != null)
    244                     {
    245                         foreach (var item in param)
    246                         {
    247                             if (!string.IsNullOrWhiteSpace(item.Value.ToString_()))
    248                             {
    249                                 cmd.Parameters.Add(item);
    250                             }
    251                             else
    252                             {
    253                                 item.Value = DBNull.Value;
    254                                 cmd.Parameters.Add(item);
    255                             }
    256                         }
    257                     }
    258                     cmd.CommandTimeout = 180;
    259                     //方式一,查询回来的结果需要显示在DataGrid之类的控件上
    260                     DataSet ds = new DataSet();
    261                     SqlDataAdapter adapter = new SqlDataAdapter(cmd);
    262                     adapter.Fill(ds);
    263                     return ds;
    264                 }
    265             }
    266             catch (Exception ex)
    267             {
    268                 throw ex;
    269             }
    270         }
    271     }
    View Code
  • 相关阅读:
    linux 修改运行级别(默认命令行启动)
    数据库循环
    html——黑体、斜体、下划线及删除线
    SQL利用Case When Then Else End多条件判断
    数据库私房菜——(扯淡的三种主流数据库 oracle、sqlserver、mysql)
    Ubuntu linux 各种技术支持(逐步完善中)
    win7(win8)系统下安装SQL2005(SQL Server 2005)图文教程
    linux 配置固定IP
    oracle 技术支持
    简单上手的游戏引擎
  • 原文地址:https://www.cnblogs.com/PrintY/p/14071169.html
Copyright © 2011-2022 走看看