/// <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); } }
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())); }
/// <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); }
public rtData(MySqlRtMsg msg) { errCode = msg.errCode; errMsg = msg.errMsg; }