zoukankan      html  css  js  c++  java
  • .net DBHelper

      DBHelper.cs是程序来连接数据的,也是一个程序必不可少的一个类(本人道行浅,目前这样认为)。由于一个程序基本写一次,容易忘记。所有写在这里备注

    首先是引用

    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;

    然后代码:

    conn.Close();
    conn.Dispose();
    cmd.Dispose();
    这几个为了防患于未然也加上去了

      public class DBHelper
        {
            private static readonly string strconnection = ConfigurationManager.ConnectionStrings["Conn"].ConnectionString;
            private static SqlConnection conn = new SqlConnection(strconnection);
            //创建给sqlreadr使用
            public static SqlConnection GetConnection() { return conn; }
            /// <summary>
            /// 打开数据库链接
            /// </summary>
            public static void OpenSqlConnection()
            {
                if (GetConnection().State == ConnectionState.Closed) { DBHelper.GetConnection().Open(); }
            }
            /// <summary>
            /// 关闭数据库链接
            /// </summary>
            public static void ClosSqlConnection()
            {
                if (GetConnection().State == ConnectionState.Open) { DBHelper.GetConnection().Close(); }
            }
    
    
            /// <summary>
            /// 基础ExecuteNonQuery 方法
            /// </summary>
            /// <param name="SQLString">执行的sql语句</param>
            /// <param name="type">是否执行存储过程·</param>
            /// <param name="prep">存储过程参数</param>
            /// <returns></returns>
            private static int ExecuteNonQuery(string SQLString, CommandType type, SqlParameter[] prep)
            {
                using (SqlConnection conn = new SqlConnection(strconnection))
                {
                    using (SqlCommand cmd = new SqlCommand(SQLString, conn))
                    {
                        int r = 0;
                        try
                        {
                            conn.Open();
                            cmd.CommandType = type;
                            if (prep != null && prep.Length > 0)
                            {
                                foreach (SqlParameter p in prep)
                                {
                                    cmd.Parameters.Add(p);
                                }
                            }
                            r = cmd.ExecuteNonQuery();
                        }
                        catch (System.Data.SqlClient.SqlException ex) { throw new Exception(ex.Message); }
                        finally
                        {
                            conn.Close();
                            conn.Dispose();
                            cmd.Dispose();
                        }
                        return r;
                    }
                }
    
            }
    
            /// <summary>
            /// 基础datatable
            /// </summary>
            /// <param name="SQLString">执行的sql语句</param>
            /// <param name="type">是否执行存储过程·</param>
            /// <param name="prep">存储过程参数</param>
            /// <returns></returns>
            private static DataTable GetDataTable( string SQLString, CommandType type, SqlParameter[] prep)
            {
                using (SqlConnection conn = new SqlConnection(strconnection))
                {
                    using (SqlCommand cmd = new SqlCommand(SQLString, conn))
                    {
                        SqlDataAdapter dap = null;
                        DataTable dt = null;
                        try
                        {
                            cmd.CommandType = type;
                            if (prep != null && prep.Length > 0)
                            {
                                foreach (SqlParameter p in prep)
                                {
                                    cmd.Parameters.Add(p);
                                }
                            }
                            dap = new SqlDataAdapter(cmd);
                            dt = new DataTable();
                            dap.Fill(dt);
                        }
                        catch (Exception ex) { }
                        finally
                        {
                            conn.Close();
                            conn.Dispose();
                            cmd.Dispose();
                        }
                        return dt;
                    }
                }
            }
    
            /// <summary>
            /// 基础SqlDataReader
            /// </summary>
            /// <param name="SQLString">执行的sql语句</param>
            /// <param name="type">是否执行存储过程·</param>
            /// <param name="prep">存储过程参数</param>
            /// <returns></returns>
            private static SqlDataReader GetList(string SQLString, CommandType type, SqlParameter[] prep)
            {
                SqlCommand cmd = null;
                SqlDataReader dr = null;
                cmd = new SqlCommand(SQLString, conn);
                if (prep != null && prep.Length > 0)
                {
                    cmd.Parameters.AddRange(prep);
                }
                cmd.CommandType = type;
                try { dr = cmd.ExecuteReader(); }
                catch (Exception ex) { }
                return dr;
            }
    
    
            //调用ExecuteNonQuery 方法
            public static int ExecuteNonQuery(string SQLString, SqlParameter[] prep) {
                return ExecuteNonQuery(SQLString, CommandType.StoredProcedure, prep);
            }
            public static int ExecuteNonQuery(string SQLString) {
                return ExecuteNonQuery(SQLString, CommandType.Text, null);
            }
            //调用GetDataTable 方法
            public static DataTable GetDataTable(string SQLString, SqlParameter[] prep) {
                return GetDataTable(SQLString, CommandType.StoredProcedure, prep);
            }
            public static DataTable GetDataTable(string SQLString)
            {
                return GetDataTable(SQLString, CommandType.Text, null);
            }
            //调用SqlDataReader  调用此方法需要先打开conn  使用完毕之后关闭conn
            public static SqlDataReader GetList(string SQLString, SqlParameter[] prep)
            {
                return GetList(SQLString, CommandType.StoredProcedure, prep);
            }
            public static SqlDataReader GetList(string SQLString)
            {
                return GetList(SQLString, CommandType.Text, null);
            }
    
    
        }
  • 相关阅读:
    robotframework执行用例时,报错selenium.common.exceptions.WebDriverException: Message: unknown error: cannot get automation extension from unknown error: page could not be found: chrome-extension://aapnijgdinl
    Robotframework之Run Keyword And Return Status和Run Keyword
    AppiumLibrary用户关键字
    appium学习【四】:第一个appium脚本
    appium学习【三】:截图时,图片命令中包含当前的函数名,以区分错误是在哪个函数报的
    appium学习【二】:用try捕获异常后,用例的执行结果为pass
    appium学习【一】:pycharm运行不生成HtmlTestRunner测试报告
    【安富莱专题教程第4期】SEGGER的J-Scope波形上位机软件,HSS模式简单易用,无需额外资源,也不需要写目标板代码
    【安富莱专题教程第2期】uC/Probe简易使用说明,含MDK和IAR,支持F103,F407和F429开发板
    【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24
  • 原文地址:https://www.cnblogs.com/1439107348s/p/8017025.html
Copyright © 2011-2022 走看看