zoukankan      html  css  js  c++  java
  • .NET 中数据访问用的 DBHelper(Sql Server) 类

        public class DBHelper
        {
            private static string DBConnectString = "Data Source=.;Initial Catalog=Roseonly;Integrated Security=True";
            private static SqlConnection conn;
            public static SqlDataAdapter dap;
            private static SqlCommand cmd;
            private static SqlCommandBuilder builder;
            private static DBHelper dBHelper;
            public static DataSet ds = new DataSet();
            public DBHelper()
            {
                conn = new SqlConnection(DBConnectString);
            }
            /// <summary>
            /// 实例化DBHelper对象
            /// </summary>
            /// <returns></returns>
            public static DBHelper Instance()
            {
                if (dBHelper == null)
                {
                    dBHelper = new DBHelper();
                }
                return dBHelper;
            }
            /// <summary>
            /// 打开数据库连接
            /// </summary>
            void DBOpen()
            {
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
            }
            /// <summary>
            /// 关闭数据库连接
            /// </summary>
            void DBClose()
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            /// <summary>
            /// 执行SQL语句获取数据集
            /// </summary>
            /// <param name="sql">sql语句</param>
            /// <returns>DataTable数据集</returns>
            public DataTable GetDataTableBySql(string sql)
            {
                DBOpen();
                DataTable dt = new DataTable();
                dap = new SqlDataAdapter(sql, conn);
                try
                {
                    dap.Fill(dt);
                    return dt;
                }
                catch
                {
                    return null;
                }
                finally
                {
                    DBClose();
                }
            }
            /// <summary>
            /// 执行SQL语句
            /// </summary>
            /// <param name="sql">SQL语句</param>
            /// <returns>是否执行成功</returns>
            public bool ExcuteSql(string sql)
            {
                DBOpen();
                cmd = new SqlCommand(sql, conn);
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch
                {
                    return false;
                }
                finally
                {
                    DBClose();
                }
            }
            /// <summary>
            /// 执行存储过程
            /// </summary>
            /// <param name="proName">存储过程名称</param>
            /// <param name="paras">存储过程参数</param>
            /// <returns>是否执行成功</returns>
            public bool ExcuteProcedure(string proName, SqlParameter[] paras)
            {
                DBOpen();
                cmd = new SqlCommand(proName, conn);
                cmd.CommandType = CommandType.StoredProcedure;
    
                for (int i = 0; i < paras.Length; i++)
                {
                    cmd.Parameters.Add(paras[i]);
                }
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch
                {
                    return false;
                }
                finally
                {
                    DBClose();
                }
    
            }
            /// <summary>
            /// 执行存储过程获得数据集
            /// </summary>
            /// <param name="proName">存储过程名</param>
            /// <param name="paras">存储过程参数</param>
            /// <returns>DataTable数据集</returns>
            public DataTable GetDataTableByProcedure(string proName, SqlParameter[] paras)
            {
                DBOpen();
                cmd = new SqlCommand(proName, conn);
                cmd.CommandType = CommandType.StoredProcedure;
                dap = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
    
                for (int i = 0; i < paras.Length; i++)
                {
                    cmd.Parameters.Add(paras[i]);
                }
                try
                {
                    dap.Fill(dt);
                    return dt;
                }
                catch
                {
                    return null;
                }
                finally
                {
                    DBClose();
                }
            }
            /// <summary>
            /// 
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public DataSet GetDataSetBySql(string sql)
            {
                DBOpen();
                dap = new SqlDataAdapter(sql, conn);
                try
                {
                    builder = new SqlCommandBuilder(dap);
                    return ds;
                }
                catch
                {
                    return null;
                }
                finally
                {
                    DBClose();
                }
            }
        }
    
  • 相关阅读:
    点云处理算法核心-八叉树
    点云平台之cloudCompare开发三
    点云法向量估计方法
    PCL源码编译
    PCL裁剪之多边形裁剪
    点云平台PCLvisualization多边形裁剪方法初探
    点云合并pcl重载“+”
    点云平台之CloudCompare开发二
    点云平台之QtitanRibbon
    神舟电脑 战神ZX6-CT5A2 键盘失灵
  • 原文地址:https://www.cnblogs.com/MaleDeer/p/10797507.html
Copyright © 2011-2022 走看看