C# sqlSever数据库相关代码

#region -----データベースアクセス共通関数-----
        private static SqlConnection m_SqlConnection = null;
        private static SqlCommand m_SqlCommand = null;
        private static SqlTransaction m_SqlTransaction = null;
        //-------------------------------------------
        // DB_Init: DBアクセスの初期化
        // 戻り値: 1 - 成功、 -1 - 失敗
        //-------------------------------------------
        public static int DB_Init(string strConnect)
        {

            if (m_SqlConnection == null)
            {
                m_SqlConnection = new SqlConnection(strConnect);
                m_SqlConnection.Open();
                m_SqlCommand = m_SqlConnection.CreateCommand();
                // m_SqlCommand.Connection = m_SqlConnection; 多余
                cmdTimeOut = m_SqlCommand.CommandTimeout;
            }
            return (1);
        }

        //-------------------------------------------
        // DB_End: DBアクセスのリソース開放
        // 戻り値: 1 - 成功、 -1 - 失敗
        //-------------------------------------------
        public static int DB_End()
        {
            if (m_SqlConnection == null) return (-1);
            m_SqlCommand.Dispose();
            m_SqlConnection.Close();
            m_SqlConnection.Dispose();
            m_SqlConnection = null;
            m_SqlCommand = null;
            m_SqlTransaction = null;
            return (1);
        }

        //-------------------------------------------
        // DB_BeginTran: トランザクションの開始
        // 戻り値: 1 - 成功、 -1 - 失敗
        //-------------------------------------------
        public static int DB_BeginTran()
        {
            if (m_SqlTransaction != null) return (1);

            if (m_SqlConnection == null) return (-1);

            m_SqlTransaction = m_SqlConnection.BeginTransaction();
            m_SqlCommand.Transaction = m_SqlTransaction;
            return (1);
        }

        //-------------------------------------------
        // DB_CommitTran: トランザクションのコミット
        // 戻り値: 1 - 成功、 -1 - 失敗
        //-------------------------------------------
        public static int DB_CommitTran()
        {
            if (m_SqlTransaction == null) return (-1);

            m_SqlTransaction.Commit();
            m_SqlTransaction = null;
            m_SqlCommand.Transaction = null;
            return (1);
        }

        //-------------------------------------------
        // DB_RollbackTran: トランザクションのロールバック
        // 戻り値: 1 - 成功、 -1 - 失敗
        //-------------------------------------------
        public static int DB_RollbackTran()
        {
            if (m_SqlTransaction == null) return (-1);

            m_SqlTransaction.Rollback();
            m_SqlTransaction = null;
            m_SqlCommand.Transaction = null;
            return (1);
        }

        //-------------------------------------------
        // DB_ExecuteStoredProcedure: ストアドの実行
        // 戻り値: DataSet - 成功、 null - 失敗
        //-------------------------------------------
        public static DataSet DB_ExecuteStoredProcedure(string strStoredProcedureName)
        {
            //return (DB_ExecuteStoredProcedure(strStoredProcedureName, null));
            return (DB_ExecuteStoredProcedure(strStoredProcedureName, -1, null));

        }

        public static DataSet DB_ExecuteStoredProcedure(string strStoredProcedureName, params SqlParameter[] aSqlParameter)
        {
            return (DB_ExecuteStoredProcedure(strStoredProcedureName, -1, aSqlParameter));
        }

        public static DataSet DB_ExecuteStoredProcedure(string strStoredProcedureName, int intTimeOut)
        {
            return (DB_ExecuteStoredProcedure(strStoredProcedureName, intTimeOut, null));
        }

        //public static DataSet DB_ExecuteStoredProcedure(string strStoredProcedureName, params SqlParameter[] aSqlParameter)
        public static DataSet DB_ExecuteStoredProcedure(string strStoredProcedureName, int intTimeOut, params SqlParameter[] aSqlParameter)
        {
            if (m_SqlConnection == null) return (null);

            DataSet dsOut = new DataSet();

            m_SqlCommand.CommandText = strStoredProcedureName;
            m_SqlCommand.CommandType = CommandType.StoredProcedure;

            if (intTimeOut != -1)
            {
                m_SqlCommand.CommandTimeout = intTimeOut;
            }
            else
            {
                m_SqlCommand.CommandTimeout = cmdTimeOut;
            }

            //パラメータの設定
            m_SqlCommand.Parameters.Clear();
            if (aSqlParameter != null)
            {
                foreach (SqlParameter p in aSqlParameter)
                {
                    if (p != null)
                    {
                        // 割り当てられないかどうかのチェック
                        if ((p.Direction == ParameterDirection.InputOutput || p.Direction == ParameterDirection.Input) && p.Value == null)
                        {
                            p.Value = DBNull.Value;
                        }
                        m_SqlCommand.Parameters.Add(p);
                    }
                }
            }
            // Execute StoredProducure
            SqlDataAdapter sdaOut = new SqlDataAdapter(m_SqlCommand);
            sdaOut.Fill(dsOut);
            return (dsOut);
        }

        #endregion

 

posted @ 2019-04-15 14:29  _jwj  阅读(192)  评论(0编辑  收藏  举报