• 连接数据库类


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Data.SqlClient;
    using System.Data;

    namespace WebApplication1
    {
        public class SqlOperation
        {
            #region 属性
            /// <summary>
            /// 保存在Web.config中的连接字符串
            /// </summary>
            private static readonly string connectionstring = "Data Source=计算机名;Initial Catalog=数据库名;Persist Security Info=是否安全(true|falsw);User ID=用户名;Password=密码;Connect Timeout=连接超时时间";
            /// <summary>
            /// SqlConnection对象
            /// </summary>
            protected static SqlConnection conn = new SqlConnection();
            /// <summary>
            /// SqlCommand对象
            /// </summary>
            protected static SqlCommand comm = new SqlCommand();
            #endregion

            #region 内部函数
            /// <summary>
            /// 打开数据库连接
            /// </summary>
            private static void ConnectionOpen()
            {
                if (conn.State != ConnectionState.Open)
                {
                    conn.Close();
                    conn.ConnectionString = connectionstring;
                    comm.Connection = conn;
                    try
                    {
                        conn.Open();
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
            }

            /// <summary>
            /// 关闭数据库连接
            /// </summary>
            private static void ConnectionClose()
            {
                conn.Close();
                conn.Dispose();
                comm.Dispose();
            }

            #endregion

            /// <summary>
            /// 执行SQL语句
            /// </summary>
            /// <param name="SqlString">要执行的SQL语句</param>
            public static void ExecuteSQL(string SqlString)
            {
                try
                {
                    ConnectionOpen();
                    comm.CommandType = CommandType.Text;
                    comm.CommandText = SqlString;
                    comm.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    ConnectionClose();
                }
            }

            /// <summary>
            /// 执行存储过程
            /// </summary>
            /// <param name="ProcedureName">存储过程名称</param>
            /// <param name="coll">存储过程需要的参数集合</param>
            public static void ExecuteProcedure(string ProcedureName, params SqlParameter[] coll)
            {
                try
                {
                    ConnectionOpen();
                    comm.CommandType = CommandType.StoredProcedure;
                    comm.CommandText = ProcedureName;
                    comm.Parameters.Clear();
                    for (int i = 0; i < coll.Length; i++)
                    {
                        comm.Parameters.Add(coll[i]);
                    }
                    comm.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    ConnectionClose();
                }
            }

            /// <summary>
            /// 执行Sql查询并返回第一行的第一条记录,返回object,使用时需要拆箱 -> unbox
            /// </summary>
            /// <param name="sqlstr">传入的Sql语句</param>
            /// <returns>返回object类型的第一行第一条记录</returns>
            public static object ExecuteScalar(string SqlString)
            {
                object obj = new object();
                try
                {
                    ConnectionOpen();
                    comm.CommandType = CommandType.Text;
                    comm.CommandText = SqlString;
                    obj = comm.ExecuteScalar();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    ConnectionClose();
                }
                return obj;
            }

            /// <summary>
            /// 执行SQL语句,同时进行事务处理
            /// </summary>
            /// <param name="sqlstr">要执行的SQL语句</param>
            public static void ExecuteTransactionSQL(string SqlString)
            {
                SqlTransaction trans;
                trans = conn.BeginTransaction();
                comm.Transaction = trans;
                try
                {
                    ConnectionOpen();
                    comm.CommandType = CommandType.Text;
                    comm.CommandText = SqlString;
                    comm.ExecuteNonQuery();
                    trans.Commit();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    ConnectionClose();
                }
            }

            /// <summary>
            /// 执行指定SQL查询,返回DataSet
            /// </summary>
            /// <param name="sqlstr">要执行的SQL语句</param>
            /// <returns>DataSet</returns>
            public static DataSet GetDataSetBySQL(string SqlString)
            {
                SqlDataAdapter da = new SqlDataAdapter();
                DataSet ds = new DataSet();
                try
                {
                    ConnectionOpen();
                    comm.CommandType = CommandType.Text;
                    comm.CommandText = SqlString;
                    da.SelectCommand = comm;
                    da.Fill(ds);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    ConnectionClose();
                }
                return ds;
            }

            /// <summary>
            /// 通过存储过程返回DataSet
            /// </summary>
            /// <param name="ProcedureName">存储过程名称</param>
            /// <param name="coll">SqlParameter集合</param>
            /// <returns>DataSet</returns>
            public static DataSet GetDataSetByProcedure(string ProcedureName, params SqlParameter[] coll)
            {
                SqlDataAdapter da = new SqlDataAdapter();
                DataSet ds = new DataSet();
                try
                {
                    ConnectionOpen();
                    comm.CommandType = CommandType.StoredProcedure;
                    comm.Parameters.Clear();
                    for (int i = 0; i < coll.Length; i++)
                    {
                        comm.Parameters.Add(coll[i]);
                    }
                    comm.CommandText = ProcedureName;
                    da.SelectCommand = comm;
                    da.Fill(ds);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    ConnectionClose();
                }
                return ds;
            }


            /// <summary>
            /// 通过存储过程返回DataSet
            /// </summary>
            /// <param name="ProcedureName">存储过程名称</param>
            /// <returns>DataSet</returns>
            public static DataSet GetDataSetByProcedure(string ProcedureName)
            {
                SqlDataAdapter da = new SqlDataAdapter();
                DataSet ds = new DataSet();
                try
                {
                    ConnectionOpen();
                    comm.CommandType = CommandType.StoredProcedure;
                    comm.CommandText = ProcedureName;
                    comm.Parameters.Clear();
                    da.SelectCommand = comm;
                    da.Fill(ds);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    ConnectionClose();
                }
                return ds;
            }

            /// <summary>
            /// 返回指定sql语句的DataTable
            /// </summary>
            /// <param name="sqlstr">传入的Sql语句</param>
            /// <returns>DataTable</returns>
            public static DataTable GetDataTableBySQL(string SqlString)
            {
                SqlDataAdapter da = new SqlDataAdapter();
                DataTable dt = new DataTable();
                try
                {
                    ConnectionOpen();
                    comm.CommandType = CommandType.Text;
                    comm.CommandText = SqlString;
                    da.SelectCommand = comm;
                    da.Fill(dt);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    ConnectionClose();
                }
                return dt;
            }

            /// <summary>
            /// 根据存储过程返回DataTable
            /// </summary>
            /// <param name="ProcedureName">存储过程名</param>
            /// <param name="coll">SqlParameter集合</param>
            /// <returns>DataTable</returns>
            public static DataTable GetDataTableByProcedure(string ProcedureName, params SqlParameter[] coll)
            {
                SqlDataAdapter da = new SqlDataAdapter();
                DataTable dt = new DataTable();
                try
                {
                    ConnectionOpen();
                    comm.Parameters.Clear();
                    comm.CommandType = CommandType.StoredProcedure;
                    comm.CommandText = ProcedureName;
                    for (int i = 0; i < coll.Length; i++)
                    {
                        comm.Parameters.Add(coll[i]);
                    }
                    da.SelectCommand = comm;
                    da.Fill(dt);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    ConnectionClose();
                }
                return dt;
            }

            /// <summary>
            /// 根据存储过程返回DataTable
            /// </summary>
            /// <param name="ProcedureName">存储过程名称</param>
            /// <returns>DataTable</returns>
            public static DataTable GetDataTableByProcedure(string ProcedureName)
            {
                SqlDataAdapter da = new SqlDataAdapter();
                DataTable dt = new DataTable();
                try
                {
                    ConnectionOpen();
                    comm.Parameters.Clear();
                    comm.CommandType = CommandType.StoredProcedure;
                    comm.CommandText = ProcedureName;
                    da.SelectCommand = comm;
                    da.Fill(dt);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    ConnectionClose();
                }
                return dt;
            }
        }
    }

  • 相关阅读:
    DBSCAN算法及sklearn实现
    K-MEANS算法及sklearn实现
    Linux删除有规则文件夹,比如(50-100)
    11.tensorboard网络结构
    10.优化器
    9.正则化
    8.Dropout
    Linux中awk后面的RS, ORS, FS, OFS 含义
    hadoop 客户的的使用
    shell中的>&1和 >&2是什么意思?
  • 原文地址:https://www.cnblogs.com/Minghao_HU/p/2526110.html
Copyright © 2020-2023  润新知