Пример #1
0
        /// <summary>
        ///  给定连接的数据库用假设参数执行一个sql命令(不返回数据集)
        /// </summary>
        /// <param name="procName">一个有效的连接字符串</param>
        /// <param name="cmdParms">命令类型(存储过程, 文本, 等等)</param>
        /// <returns>执行命令所影响的行数</returns>
        private static MySqlRtMsg ExecuteNonQueryProcedure(string procName, params MySqlParameter[] cmdParms)
        {
            MySqlRtMsg rtMsg = new MySqlRtMsg();

            using (MySqlConnection conn = new MySqlConnection(connstr))
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.Connection  = conn;
                cmd.CommandText = procName;
                cmd.CommandType = CommandType.StoredProcedure;

                if (cmdParms != null)
                {
                    foreach (MySqlParameter parm in cmdParms)
                    {
                        cmd.Parameters.Add(parm);
                    }
                }

                MySqlParameter Total = new MySqlParameter();
                Total.ParameterName = "Total";
                Total.Direction     = ParameterDirection.Output;
                Total.DbType        = DbType.Int32;
                cmd.Parameters.Add(Total);

                MySqlParameter errCode = new MySqlParameter();
                errCode.ParameterName = "ErrCode";
                errCode.Direction     = ParameterDirection.Output;
                errCode.DbType        = DbType.Int32;
                cmd.Parameters.Add(errCode);

                MySqlParameter errMsg = new MySqlParameter();
                errMsg.ParameterName = "ErrMsg";
                errMsg.Direction     = ParameterDirection.Output;
                errMsg.DbType        = DbType.String;
                cmd.Parameters.Add(errMsg);

                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }
                int val = cmd.ExecuteNonQuery();

                rtMsg.errCode = int.Parse(cmd.Parameters["ErrCode"].Value.ToString());
                rtMsg.errMsg  = cmd.Parameters["ErrMsg"].Value.ToString();

                conn.Close();
                cmd.Parameters.Clear();
                cmd.Clone();

                return(rtMsg);
            }
        }
Пример #2
0
        public static DataSet ExecuteQueryProcedure(string procName, ref MySqlRtMsg rtMsg, params MySqlPara[] cmdParms)
        {
            List <MySqlParameter> pArr = new List <MySqlParameter>();

            if (cmdParms != null)
            {
                foreach (MySqlPara parm in cmdParms)
                {
                    pArr.Add(parm.GetMySqlParameter());
                }
            }

            return(ExecuteQueryProcedure(procName, ref rtMsg, pArr.ToArray()));
        }
Пример #3
0
        /// <summary>
        ///  给定连接的数据库用假设参数执行一个sql命令(不返回数据集)
        /// </summary>
        /// <param name="procName">一个有效的连接字符串</param>
        /// <param name="cmdParms">命令类型(存储过程, 文本, 等等)</param>
        /// <returns>执行命令所影响的行数</returns>
        private static DataSet ExecuteQueryProcedure(string procName, ref MySqlRtMsg rtMsg, params MySqlParameter[] cmdParms)
        {
            DataSet rtDs = new DataSet();

            using (MySqlConnection conn = new MySqlConnection(connstr))
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.Connection  = conn;
                cmd.CommandText = procName;
                cmd.CommandType = CommandType.StoredProcedure;

                if (cmdParms != null)
                {
                    foreach (MySqlParameter parm in cmdParms)
                    {
                        cmd.Parameters.Add(parm);
                    }
                }

                MySqlParameter Total = new MySqlParameter();
                Total.ParameterName = "Total";
                Total.Direction     = ParameterDirection.Output;
                Total.DbType        = DbType.Int32;
                cmd.Parameters.Add(Total);

                MySqlParameter errCode = new MySqlParameter();
                errCode.ParameterName = "ErrCode";
                errCode.Direction     = ParameterDirection.Output;
                errCode.DbType        = DbType.Int32;
                cmd.Parameters.Add(errCode);

                MySqlParameter errMsg = new MySqlParameter();
                errMsg.ParameterName = "ErrMsg";
                errMsg.Direction     = ParameterDirection.Output;
                errMsg.DbType        = DbType.String;
                cmd.Parameters.Add(errMsg);

                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }

                using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
                {
                    da.Fill(rtDs, "ds");
                }


                rtMsg.pageSize    = int.Parse(cmd.Parameters["pageSize"].Value.ToString());
                rtMsg.currentPage = int.Parse(cmd.Parameters["currentPage"].Value.ToString());
                rtMsg.total       = int.Parse(cmd.Parameters["total"].Value.ToString());
                rtMsg.errCode     = int.Parse(cmd.Parameters["ErrCode"].Value.ToString());
                rtMsg.errMsg      = cmd.Parameters["ErrMsg"].Value.ToString();

                conn.Close();
                cmd.Parameters.Clear();
                cmd.Clone();
            }

            return(rtDs);
        }
Пример #4
0
Файл: M.cs Проект: mchp201/MJD
 public rtData(MySqlRtMsg msg)
 {
     errCode = msg.errCode;
     errMsg  = msg.errMsg;
 }