zoukankan      html  css  js  c++  java
  • MySQLHelper

    
    using System;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;
    
    using Constant;
    
    namespace Dal
    {
        /// <summary>
        /// This class can not be extends and it provide services for dal.
        /// </summary>
        public sealed class SqlHelper
        {
    
            #region Private Constructor
    
            private SqlHelper() { }
    
            #endregion
    
            #region Returns SqlConnection
    
            /// <summary>
            /// Gets the connection with database.
            /// </summary>
            /// <returns>Return the connection of database.</returns>
            public static SqlConnection GetConnection()
            {
                string connStr = ConfigurationManager.AppSettings["connStr"];
                SqlConnection conn = new SqlConnection(connStr);
                return conn;
            }
    
            #endregion
    
            #region Closes SqlDataReader Method
    
            /// <summary>
            /// Closes the sqldatareader and dispose it.
            /// </summary>
            /// <param name="sqlDataReader">Returns sqldatareader.</param>
            public static void CloseSqlDataReader(SqlDataReader sqlDataReader)
            {
                if (!sqlDataReader.IsClosed)
                {
                    sqlDataReader.Close();
                    sqlDataReader.Dispose();
                }
                else
                {
                    //TODO NOTHING
                }
            }
            #endregion
    
            #region Returns SqlDataReader
    
            /// <summary>
            /// Gets data from database.
            /// </summary>
            /// <param name="sqlText">The sql text.</param>
            /// <param name="prams">The parameters of the sql text.</param>
            /// <returns>Return sqldatareader.</returns>
            public static SqlDataReader ExecureReader(string sqlText, SqlParameter[] prams)
            {
                SqlCommand sqlCommand = null;
    
                SqlConnection sqlConnection = GetConnection();
    
                if (sqlConnection.State != ConnectionState.Open)
                {
                    sqlConnection.Open();
                }
    
                sqlCommand = new SqlCommand(sqlText, sqlConnection);
    
                if (null != prams)
                {
                    sqlCommand.Parameters.AddRange(prams);
                }
    
                return sqlCommand.ExecuteReader();
    
                //There doesn't close the connection with database.  Because in reading the data the connection must be open.
            }
    
            #endregion
    
            #region ExecuteNonQuery Method
    
            /// <summary>
            /// Does the insert, update, delete function.
            /// </summary>
            /// <param name="sqlText">The sql text.</param>
            /// <param name="parms">The parameters of the sql.</param>
            /// <returns>Returns influence number.</returns>
            public static int ExecuteNonQuery(string sqlText, SqlParameter[] parms)
            {
                int i = 0;
    
                using (SqlConnection sqlConnection = GetConnection())
                {
                    if (sqlConnection.State == ConnectionState.Closed)
                    {
                        sqlConnection.Open();
                    }
    
                    using (SqlCommand sqlCommand = new SqlCommand())
                    {
                        sqlCommand.Connection = sqlConnection;
                        sqlCommand.CommandText = sqlText;
                        sqlCommand.Parameters.AddRange(parms);
                        i = sqlCommand.ExecuteNonQuery();
                    }
                }
    
                return i;
            }
    
            /// <summary>
            /// Gets the influence rows.
            /// </summary>
            /// <param name="sqlText">The sql text.</param>
            /// <param name="parms">The parameters of the sql.</param>
            /// <returns>Returns influence number.</returns>
            public static int ExecuteNonQuery(string sqlText)
            {
                int i = 0;
    
                using (SqlConnection sqlConnection = GetConnection())
                {
                    if (sqlConnection.State == ConnectionState.Closed)
                    {
                        sqlConnection.Open();
                    }
    
                    using (SqlCommand sqlCommand = new SqlCommand())
                    {
                        sqlCommand.Connection = sqlConnection;
                        sqlCommand.CommandText = sqlText;
                        i = sqlCommand.ExecuteNonQuery();
                    }
                }
    
                return i;
            }
    
            #endregion
    
            #region Returns Object
    
            /// <summary>
            /// Gets the first row and first column data.
            /// </summary>
            /// <param name="sql">The sql text.</param>
            /// <param name="prams">The parameters of the sql text.</param>
            /// <returns>Returns an object.</returns>
            public static object ExecuteScalar(string sqlText, SqlParameter[] parms)
            {
                object result;
    
                using (SqlConnection sqlConnection = GetConnection())
                {
                    if (sqlConnection.State != ConnectionState.Open)
                    {
                        sqlConnection.Open();
                    }
    
                    using (SqlCommand sqlCommand = new SqlCommand(sqlText, sqlConnection))
                    {
                        sqlCommand.Parameters.AddRange(parms);
                        result = sqlCommand.ExecuteScalar();
                    }
                }
    
                return result;
            }
    
            #endregion
        }
    }
  • 相关阅读:
    【黑金动力社区】【原创博文集锦】《Verilog HDL那些事儿》导读
    [黑金原创教程][连载]关于《iBoard 电子学堂》的学习及进阶方式
    发布《iBoard 电子学堂》DEMO代码
    Cyclone III中LVDS的设计
    [黑金原创教程][连载][iBoard 电子学堂][第八卷 设计任意波发生器]第三篇 直接数字合成(DDS)原理
    专业级FPGA视频图像处理开发板发布
    [黑金原创教程][连载][iBoard 电子学堂][第〇卷 电子基础]第二篇 电路图与印刷电路板
    [黑金原创教程][连载][iBoard 电子学堂][第八卷 设计任意波发生器]第一篇 iBoard 任意波发生器简介
    [黑金原创教程][连载][iBoard 电子学堂][第〇卷 电子基础]第一篇 认识电子元器件
    ucgui 在《iBoard 电子学堂》上的移植
  • 原文地址:https://www.cnblogs.com/chenyongblog/p/3817384.html
Copyright © 2011-2022 走看看