zoukankan      html  css  js  c++  java
  • SQLHelper

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Data.SqlClient;
      6 using System.Data;
      7 
      8 namespace LWSR.FBU.DAL
      9 {
     10     public class SQLHelper
     11     {
     12         //连接字符串
     13         static string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
     14         /// <summary>
     15         /// 返回受影响的行数
     16         /// </summary>
     17         /// <param name="comText"></param>
     18         /// <param name="param"></param>
     19         /// <returns></returns>
     20         public static int ExecuteNonQuery(string comText, params SqlParameter[] param)
     21         {
     22             using (SqlConnection conn = new SqlConnection(connStr))
     23             {
     24                 using (SqlCommand cmd = new SqlCommand(comText, conn))
     25                 {
     26                     if (param != null && param.Length != 0)
     27                     {
     28                         cmd.Parameters.AddRange(param);
     29                     }
     30                     if (conn.State == ConnectionState.Closed)
     31                     {
     32                         conn.Open();
     33                     }
     34                     return cmd.ExecuteNonQuery();
     35                 }
     36             }
     37         }
     38 
     39         /// <summary>
     40         /// model是静态类型的调用方法
     41         /// </summary>
     42         /// <param name="comText"></param>
     43         /// <param name="param"></param>
     44         public static void zhixing(string comText, params SqlParameter[] param)
     45         {
     46             using (SqlConnection conn = new SqlConnection(connStr))
     47             {
     48                 using (SqlCommand cmd = new SqlCommand(comText, conn))
     49                 {
     50                     if (param != null && param.Length != 0)
     51                     {
     52                         cmd.Parameters.AddRange(param);
     53                     }
     54                     if (conn.State == ConnectionState.Closed)
     55                     {
     56                         conn.Open();
     57                     }
     58                     cmd.ExecuteNonQuery();
     59                 }
     60             }
     61         }
     62         /// <summary>
     63         /// 返回一个数据集
     64         /// </summary>
     65         /// <param name="sqlStr">sql语句</param>
     66         /// <returns></returns>
     67         public static DataSet dataSet(string sqlStr)
     68         {
     69             SqlConnection conn = new SqlConnection(connStr);
     70             conn.Open();
     71             DataSet ds = new DataSet();
     72             try
     73             {
     74                 SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);
     75                 da.Fill(ds);
     76             }
     77             catch (Exception e)
     78             {
     79                 throw new Exception(e.Message);
     80             }
     81             finally
     82             {
     83                 conn.Close();
     84             }
     85             return ds;
     86         }
     87         /// <summary>
     88         /// 返回数据对象
     89         /// </summary>
     90         /// <param name="comText"></param>
     91         /// <param name="param"></param>
     92         /// <returns></returns>
     93         public static object ExecuteScalar(string comText, params SqlParameter[] param)
     94         {
     95             using (SqlConnection conn = new SqlConnection(connStr))
     96             {
     97                 using (SqlCommand cmd = new SqlCommand(comText, conn))
     98                 {
     99                     if (param != null && param.Length != 0)
    100                     {
    101                         cmd.Parameters.AddRange(param);
    102                     }
    103                     if (conn.State == ConnectionState.Closed)
    104                     {
    105                         conn.Open();
    106                     }
    107                     object obj = cmd.ExecuteScalar();
    108                     cmd.Parameters.Clear();
    109                     return obj;
    110                 }
    111             }
    112         }
    113         /// <summary>
    114         /// 返回table
    115         /// </summary>
    116         /// <param name="cmdText"></param>
    117         /// <param name="param"></param>
    118         /// <returns></returns>
    119         public static DataTable Adapter(string cmdText, params SqlParameter[] param)
    120         {
    121             DataTable dt = new DataTable();
    122             using (SqlDataAdapter sda = new SqlDataAdapter(cmdText, connStr))
    123             {
    124                 if (param != null && param.Length != 0)
    125                 {
    126 
    127                     if (param[0] != null)
    128                         sda.SelectCommand.Parameters.AddRange(param);
    129                 }
    130                 sda.Fill(dt);
    131                 sda.SelectCommand.Parameters.Clear();
    132 
    133             }
    134             return dt;
    135         }
    136         /// <summary>
    137         /// 向前读取记录
    138         /// </summary>
    139         /// <param name="cmdText"></param>
    140         /// <param name="param"></param>
    141         /// <returns></returns>
    142         public static SqlDataReader ExectueReader(string cmdText, params SqlParameter[] param)
    143         {
    144             SqlConnection conn = new SqlConnection(connStr);
    145             //using (SqlCommand cmd = new SqlCommand(cmdText, conn))
    146             //{
    147             SqlCommand cmd = new SqlCommand(cmdText, conn);
    148             if (param != null && param.Length != 0)
    149             {
    150                 cmd.Parameters.AddRange(param);
    151             }
    152             if (conn.State == ConnectionState.Closed)
    153             {
    154                 conn.Open();
    155             }
    156             return cmd.ExecuteReader(CommandBehavior.CloseConnection);
    157             //}
    158         }
    159 
    160         /// <summary>
    161         /// 读取存储过程
    162         /// </summary>
    163         /// <param name="cmdText"></param>
    164         /// <param name="type"></param>
    165         /// <param name="param"></param>
    166         /// <returns></returns>
    167         public static DataTable GetPro(string cmdText, CommandType type, params SqlParameter[] param)
    168         {
    169             DataTable dt = new DataTable();
    170             using (SqlDataAdapter sda = new SqlDataAdapter(cmdText, connStr))
    171             {
    172                 new SqlCommand().CommandType = CommandType.StoredProcedure;
    173                 if (param != null && param.Length != 0)
    174                 {
    175                     sda.SelectCommand.Parameters.AddRange(param);
    176                 }
    177                 sda.Fill(dt);
    178             }
    179             return dt;
    180         }
    181         /// <summary>
    182         /// 批量插入数据
    183         /// </summary>
    184         /// <param name="table">目标数据</param>
    185         /// <param name="tableName">表名称</param>
    186         /// <param name="mapping"></param>
    187         public static void SqlBulkCopyInsert(DataTable table, string tableName, List<SqlBulkCopyColumnMapping> mapping)
    188         {
    189             using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connStr))
    190             {
    191                 bulkCopy.DestinationTableName = tableName;
    192                 if (mapping != null && mapping.Count != 0)
    193                 {
    194                     foreach (SqlBulkCopyColumnMapping item in mapping)
    195                     {
    196                         bulkCopy.ColumnMappings.Add(item.SourceColumn, item.DestinationColumn);
    197                     }
    198                 }
    199                     
    200                 
    201 
    202                 bulkCopy.WriteToServer(table);
    203             }
    204         }
    205 
    206         public static int BatchInert(string connectionString, string desTable, DataTable dt, int batchSize = 500)
    207         {
    208             using (var sbc = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction)
    209             {
    210                 BulkCopyTimeout = 300,
    211                 NotifyAfter = dt.Rows.Count,
    212                 BatchSize = batchSize,
    213                 DestinationTableName = desTable
    214             })
    215             {
    216                 foreach (DataColumn column in dt.Columns)
    217                     sbc.ColumnMappings.Add(column.ColumnName, column.ColumnName);
    218                 sbc.WriteToServer(dt);
    219             }
    220 
    221             return dt.Rows.Count;
    222         }
    223     }
    224 }
    View Code
  • 相关阅读:
    springboot 的国际化路径出现问题
    算法思想_常见四种
    数据结构_6种简单概述_java
    火狐同步和账号的区别
    java_泛型解析
    购书打折最优方案
    团队小组开发NABC分析
    环状二维数组最大子数组求和
    返回一个整数数组中最大子数组的和之测试
    首尾相连的一位数组最大子数组和
  • 原文地址:https://www.cnblogs.com/nsky/p/4466429.html
Copyright © 2011-2022 走看看