zoukankan      html  css  js  c++  java
  • 三层架构调用存储过程

     
    DataAccessHelper
    private void Open()
            {
                // 打开数据库连接 
                if (conn_Mysql == null)
                {
                    conn_Mysql = new MySqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
                }
                if (conn_Mysql.State == System.Data.ConnectionState.Closed)
                    conn_Mysql.Open();
    
            }


    
    

    /// <summary>
    /// 创建一个SqlCommand对象以此来执行存储过程
    /// </summary>
    /// <param name="procName">存储过程的名称</param>
    /// <param name="prams">存储过程所需参数</param>
    /// <returns>返回SqlCommand对象</returns>


    private
    MySqlCommand CreateCommand(string procName, MySqlParameter[] prams) { // 确认打开连接 Open(); MySqlCommand cmd = new MySqlCommand(procName, conn_Mysql); //SqlCommand cmd = new SqlCommand(procName, conn); cmd.CommandType = CommandType.StoredProcedure; // 依次把参数传入存储过程 if (prams != null) { foreach (MySqlParameter parameter in prams) cmd.Parameters.Add(parameter); } // 加入返回参数 cmd.Parameters.Add( new MySqlParameter("ReturnValue", MySqlDbType.Int32, 4, ParameterDirection.ReturnValue, false, 0, 0, string.Empty, DataRowVersion.Default, null)); return cmd; }
    执行带参数的存储过程        
    ///
    <summary> /// 执行存储过程 /// </summary> /// <param name="procName">带参数的存储过程的名称</param> /// <param name="prams">存储过程所需参数</param> /// <param name="dataReader">通过输出参数返回DataTable对象</param> public void RunProc(string procName, MySqlParameter[] prams, out DataTable dt, out MySqlCommand cmd) { cmd = CreateCommand(procName, prams); MySqlDataReader dataReader = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); dt = ConvertDataReaderToDataTable_MySQL(dataReader); }

    DAL层

    /// <summary>
            /// 获取数据
            /// </summary>
            /// <returns>DataTable</returns>
            public DataTable Getxxxx(EmsUserEntity emsUserEntity, ElecBalanceEntity elecBalanceEntity)
            {
                DataTable dt = new DataTable();
                //SqlCommand cmd = new SqlCommand();
                MySqlCommand cmd = new MySqlCommand();
                DataAccessHelper data = new DataAccessHelper();
    
                //传人传出参数
                //SqlParameter[] prams = {
                //    data.MakeInParam("@account",SqlDbType.VarChar, 50, emsUserEntity.accountname)
                // };
                MySqlParameter[] prams ={
                   data.MakeInParam_MySql("@account",MySqlDbType.VarChar, 50, emsUserEntity.accountname)
                };
    
    
                try
                {
                    //调用存储过程
                    data.RunProc("xxx(存储过程名)", prams, out dt);
                    data.Close();
                }
                catch (Exception ex)
                {
                    Logger.Error("EEEEEEEEEE====================获取实时数据出错,信息:" + ex);
                    dt = null;
                }
    
                return dt;
            }
  • 相关阅读:
    xp系统
    如何进去bios设置
    MySQL快捷键
    显示数据库中的所有表和所有数据库
    Codeforces Round #375 (Div. 2) B
    Codeforces Round #375 (Div. 2) A
    2015 AlBaath Collegiate Programming Contest B
    2015 AlBaath Collegiate Programming Contest A
    AIM Tech Round 3 (Div. 2) B
    AIM Tech Round 3 (Div. 2) A
  • 原文地址:https://www.cnblogs.com/Pinapple/p/7873204.html
Copyright © 2011-2022 走看看