• sqlHelper+app.config


    public class SqlHelper
        {
            /// <summary>
            /// 获取连接字符串
            /// </summary>
            public static string ConString = ConfigurationManager.ConnectionStrings["HotelManagerConnectionString"].ToString();
            public static string Dbowner = ConfigurationManager.ConnectionStrings["DataBaseOwner"].ToString();
    
            /// <summary>
            /// 设置执行工具
            /// </summary>
            /// <param name="con">连接对象</param>
            /// <param name="cmd">工具</param>
            /// <param name="paras">参数数组</param>
            /// <param name="sqlStr">SQL语句</param>
            /// <param name="cmdType">命令类型</param>
            public static void PrepareCommand(SqlConnection con, SqlCommand cmd, SqlParameter[] paras, string sqlStr,CommandType cmdType)
            {
                if(con.State != ConnectionState.Open)
                {
                    con.Open();
                }
                cmd.Connection = con;
                cmd.CommandType = cmdType;
                cmd.CommandText = sqlStr;
                if(paras==null)
                {
                    return;
                }
                else
                {
                    foreach (SqlParameter p in paras)
                    {
                        cmd.Parameters.Add(p);
                    }
                }
            }
    
            /// <summary>
            /// 执行查询,返回数据集
            /// </summary>
            /// <param name="cmdType"></param>
            /// <param name="cmdText"></param>
            /// <param name="commandPrarmeters"></param>
            /// <returns></returns>
            public static DataTable Execute(CommandType cmdType, string cmdText, params SqlParameter[] commandPrarmeters)
            {
                SqlConnection connection = new SqlConnection(ConString);
                SqlCommand cmd = new SqlCommand();
                PrepareCommand(connection, cmd, commandPrarmeters, cmdText, cmdType);
                SqlDataAdapter dap = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                dap.Fill(ds);
                return ds.Tables[0];
            }
    
            /// <summary>
            /// 查询首行首列的值
            /// </summary>
            /// <param name="cmdType"></param>
            /// <param name="cmdText"></param>
            /// <param name="commandPrarmeters"></param>
            /// <returns></returns>
            public static object ExecuteScalar(CommandType cmdType,string cmdText, params SqlParameter[] commandPrarmeters)
            {
                SqlCommand cmd = new SqlCommand();
                using (SqlConnection connection = new SqlConnection (ConString))
                {
                    PrepareCommand(connection, cmd, commandPrarmeters, cmdText, cmdType );
                    object val = cmd.ExecuteScalar();//返回查询的第一行第一列
                    return val;
                }
            }
    
            /// <summary>
            /// 获取reader对象
            /// </summary>
            /// <param name="cmdText"></param>
            /// <param name="cmdType"></param>
            /// <param name="commandParameters"></param>
            /// <returns></returns>
            public static SqlDataReader GetDataReader(string cmdText, CommandType cmdType, params SqlParameter[] commandParameters)
            {
                SqlCommand cmd = new SqlCommand();
                SqlConnection conn = new SqlConnection(ConString);
                try
                {
                    PrepareCommand(conn, cmd, commandParameters, cmdText, cmdType);
                    //sqlDataReader必须数据库打开才能运行,所以使用commandBehavior重载,同时关闭connection
                    SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                    cmd.Parameters.Clear();
                    return rdr;
                }
                catch(Exception)
                {
                    conn.Close();
                    throw;
                }
            }
    
            /// <summary>
            /// 执行增删改,返回受影响行数
            /// </summary>
            /// <param name="cmdText"></param>
            /// <param name="cmdType"></param>
            /// <param name="commandParameters"></param>
            /// <returns></returns>
            public static int ExecuteNonQuery(string cmdText, CommandType cmdType, params SqlParameter[] commandParameters)
            {
                SqlCommand cmd = new SqlCommand();
                using (SqlConnection conn = new SqlConnection (ConString))
                {
                    PrepareCommand(conn, cmd, commandParameters , cmdText, cmdType);
                    int val = cmd.ExecuteNonQuery();
                    return val;
                }
            }
        }
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <connectionStrings >
        <add name="DataBaseOwner"  connectionString="dbo"/>
        <add name ="HotelManagerConnectionString" connectionString="Data Source=.;Database=HotelManageEx;User ID=sa;Password=123" providerName ="System.Data.SqlClient"/>
      </connectionStrings>
      <appSettings>
        <add key="DBtype" value="Sql"/>
      </appSettings>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
        </startup>
    </configuration>
  • 相关阅读:
    页面性能优化之内容加载优化(转)
    (Windbg调试六)c++句柄泄漏问题定位
    (Windbg调试五)C++内存越界导致的std::map异常
    (Windbg调试四)C++死锁问题定位与分析
    (Windbg调试三)C++ delete指针后依然可以访问的问题
    (Windbg调试二)Windows下c++程序崩溃问题定位
    (Windbg调试一)minidump崩溃捕捉
    WinDbg调试:配置和查看符号
    为WinDbg设置符号文件路径
    Windbg符号与源码 《第二篇》
  • 原文地址:https://www.cnblogs.com/bedfly/p/12465816.html
Copyright © 2020-2023  润新知