zoukankan      html  css  js  c++  java
  • SqlHelper

    一、SqlHelper

    1、SqlserverHelper

     <connectionStrings>
        <add name="ConnectString" connectionString="server=192.168.10.181;database=BB;UID=sa;PWD=sa;" providerName="System.Data.SqlClient"/>
      </connectionStrings>
    ConnectionString
    using System.Collections.Generic;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;
    using System.Text;
    
    namespace MCLiChengTest
    {
        public class SqlServerHelper
        {
            private static string connStr = ConfigurationManager.ConnectionStrings["ConnectString"].ConnectionString;
            public static int ExecuteNonQuery(string sql)
            {
                using (var conn = new SqlConnection(connStr))
                {
                    conn.Open();
    
                    var cmd = new SqlCommand(sql, conn);
                    var aRows = cmd.ExecuteNonQuery();
                    cmd.Dispose();
                    return aRows;
                }
            }
    
            public static object ExecuteScalar(string sql)
            {
                using (var conn = new SqlConnection(connStr))
                {
                    conn.Open();
    
                    var cmd = new SqlCommand(sql, conn);
                    return cmd.ExecuteScalar();
                }
            }
    
            public static void ExecuteSqlTrans(List<string> sqlList)
            {
                using (var conn = new SqlConnection(connStr))
                {
                    conn.Open();
                    SqlTransaction trans = conn.BeginTransaction();
                    var cmd = conn.CreateCommand();
                    cmd.Transaction = trans;
                    try
                    {
                        foreach (var sql in sqlList)
                        {
                            cmd.CommandText = sql;
                            cmd.ExecuteNonQuery();
                        }
                        trans.Commit();
                    }
                    catch (Exception ex)
                    {
                        try
                        {
                           Console.WriteLine("Mysql趟次存储错误:" + ex.ToString());
                            trans.Rollback();
                        }
                        catch (Exception ex2)
                        {
                            throw;
                        }
                    }
                }
            }
    
            public static DataSet ExecuteDataset(string sql)
            {
                using (var conn = new SqlConnection(connStr))
                {
                    var ds = new DataSet();
                    var da = new SqlDataAdapter(sql, conn);
                    da.Fill(ds);
                    return ds;
                }
            }
    
            public static void ExecuteReader(string sql, Action<IDataReader> dataReaderAction)
            {
                using (var conn = new SqlConnection(connStr))
                {
                    conn.Open();
    
                    var cmd = new SqlCommand(sql, conn);
                    using (var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                    {
                        while (reader.Read())
                        {
                            dataReaderAction(reader);
                        }
                        reader.Close();
                    }
                }
            }
            public static void ProExec(string proName, SqlParameter[] sqlParme)
            {
                using (var conn = new SqlConnection(connStr))
                {
                    SqlCommand cmd = new SqlCommand(proName, conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddRange(sqlParme);
                    conn.Open();
                    cmd.ExecuteNonQuery();
    
                    cmd.Dispose();
                }
            }
    
    
            public static void ProExecDb(string proName, SqlParameter[] sqlParme, string DbName)
            {
                using (var conn = new SqlConnection(connStr))
                {
                    SqlCommand cmd = new SqlCommand(proName, conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddRange(sqlParme);
                    conn.Open();
                    cmd.ExecuteNonQuery();
    
                    cmd.Dispose();
                }
            }
    
            public static SqlDataReader ProcExecResult(string proName, SqlParameter[] sqlParme)
            {
                using (var conn = new SqlConnection(connStr))
                {
                    SqlDataReader reader = null;
                    SqlCommand cmd = new SqlCommand(proName, conn);
                    try
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddRange(sqlParme);
                        conn.Open();
                        //cmd.ExecuteNonQuery();
                        reader = cmd.ExecuteReader();
                        cmd.Dispose();
                        return reader;
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("ProcExecResult 执行存储过程:[" + proName + "]发生错误:" + ex.ToString());
                        cmd.Dispose();
                    }
                    finally
                    {
                        cmd.Dispose();
                    }
                    return reader;
                }
            }
        }
    }
    SqlServerHelper

    2、MySqlHelper

    需要添加Mysql.Data.dll,在NuGet中

     <connectionStrings>
        <add name="MysqlConnectionString" connectionString="server=192.168.1.244;Initial Catalog=ycztc;Integrated Security=False;Persist Security Info=False;User ID=server;Password=Exsun@2015;Charset=utf8" providerName="MySql.Data.MySqlClient" />
      </connectionStrings>
    con
             using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using MySql.Data.MySqlClient;
    using System.Data.SqlClient;
    using FrameworkCommon;
    
    namespace Exsun.CommunicationCommon.DataStorage.Mysql
    {
        public class MysqlHelper
        {
            private static string connStr = ConfigurationManager.ConnectionStrings["MysqlConnectionString"].ConnectionString;
            public static int ExecuteNonQuery(string sql)
            {
                using (var conn = new MySqlConnection(connStr))
                {
                    conn.Open();
    
                    var cmd = new MySqlCommand(sql, conn);
                    var aRows=cmd.ExecuteNonQuery();
                    cmd.Dispose();
                    return aRows;
                }
            }
    
            public static object ExecuteScalar(string sql)
            {
                using (var conn = new MySqlConnection(connStr))
                {
                    conn.Open();
    
                    var cmd = new MySqlCommand(sql, conn);
                    return cmd.ExecuteScalar();
                }
            }
    
            public static void ExecuteSqlTrans(List<string> sqlList)
            {
                using (var conn = new MySqlConnection(connStr))
                {
                    conn.Open();
                    MySqlTransaction trans = conn.BeginTransaction();
                    var cmd = conn.CreateCommand();
                    cmd.Transaction = trans;
                    try
                    {
                        foreach (var sql in sqlList)
                        {
                            cmd.CommandText = sql;
                            cmd.ExecuteNonQuery();
                        }
                        trans.Commit();
                    }
                    catch (Exception ex)
                    {
                        try
                        {
                            LogHelper.Info("Mysql趟次存储错误:" + ex.ToString());
                            trans.Rollback();
                        }
                        catch (Exception ex2)
                        {
                            throw;
                        }
                    }
                }
            }
    
            public static DataSet ExecuteDataset(string sql)
            {
                using (var conn = new MySqlConnection(connStr))
                {
                    var ds = new DataSet();
                    var da = new MySqlDataAdapter(sql, conn);
                    da.Fill(ds);
                    return ds;
                }
            }
    
            public static void ExecuteReader(string sql, Action<IDataReader> dataReaderAction)
            {
                using (var conn = new MySqlConnection(connStr))
                {
                    conn.Open();
    
                    var cmd = new MySqlCommand(sql, conn);
                    using (var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                    {
                        while (reader.Read())
                        {
                            dataReaderAction(reader);
                        }
                        reader.Close();
                    }
                }
            }
            public static void ProExec(string proName, MySqlParameter[] sqlParme)
            {
                using (var conn = new MySqlConnection(connStr))
                {
                    MySqlCommand cmd = new MySqlCommand(proName, conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddRange(sqlParme);
                    conn.Open();
                    cmd.ExecuteNonQuery();
    
                    cmd.Dispose();
                }
            }
            
    
            public static void ProExecDb(string proName, MySqlParameter[] sqlParme, string DbName)
            {
                using (var conn = new MySqlConnection(connStr))
                {
                    MySqlCommand cmd = new MySqlCommand(proName, conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddRange(sqlParme);
                    conn.Open();
                    cmd.ExecuteNonQuery();
    
                    cmd.Dispose();
                }
            }
    
            public static MySqlDataReader ProcExecResult(string proName, MySqlParameter[] sqlParme)
            {
                using (var conn = new MySqlConnection(connStr))
                {
                    MySqlDataReader reader = null;
                    MySqlCommand cmd = new MySqlCommand(proName, conn);
                    try
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddRange(sqlParme);
                        conn.Open();
                        //cmd.ExecuteNonQuery();
                        reader = cmd.ExecuteReader();
                        cmd.Dispose();
                        return reader;
                    }
                    catch (Exception ex)
                    {
                        LogHelper.Debug("ProcExecResult 执行存储过程:[" + proName + "]发生错误:" + ex.ToString());
                        cmd.Dispose();
                    }
                    finally
                    {
                        cmd.Dispose();
                    }
                    return reader;
                }
            }
        }
    }
    MysqlHelper

     3、其他帮助方法

    public static readonly int FzTenantId = ConfigurationManager.AppSettings["FzTenantId"]?.ToInt(0) ?? 0; 【重在理解static、readonly的好处,以及?和 ??的使用】

  • 相关阅读:
    基于libevent的TLS单向认证CS通信验证
    ubuntu按照时间顺序列出apt安装的程序
    网页识别语音插件annyang可以实现识别中文
    微信小程序图片和签名
    linux run/media/wang/centos_磁盘爆满
    一个页面实现增删改查
    查某关键字在数据库中的哪个位置
    ADO.NET五大对象
    怎样获取当前时间
    string与stringbuilder的区别
  • 原文地址:https://www.cnblogs.com/SmileSunday/p/9961892.html
Copyright © 2011-2022 走看看