我在MySQL数据库中存储过程。 该程序取6个输入参数和2个输出参数。不参与mysql存储过程的参数c#
我需要从我的c#应用程序调用此存储过程。 下面是我的代码:
if (_MySqlConnectionSMS1.State != ConnectionState.Open)
_MySqlConnectionSMS1.Open();
using (MySqlCommand sqlcmd1 = new MySqlCommand("usp_Data_Insert", _MySqlConnectionSMS1))
{
sqlcmd1.Parameters.Add(new MySqlParameter("@in_ApplicationName", "AEM"));
sqlcmd1.Parameters.Add(new MySqlParameter("@in_ApplicationCode", "AEM"));
sqlcmd1.Parameters.Add(new MySqlParameter("@in_NTLogin", ntid));
sqlcmd1.Parameters.Add(new MySqlParameter("@in_SMSMsg", Message));
sqlcmd1.Parameters.Add(new MySqlParameter("@in_Workcell", ""));
sqlcmd1.Parameters.Add(new MySqlParameter("@in_SMSTime", System.DateTime.Now));
sqlcmd1.Parameters.Add(new MySqlParameter("@out_Result", MySqlDbType.Int32));
sqlcmd1.Parameters.Add(new MySqlParameter("@out_Message", MySqlDbType.VarChar));
sqlcmd1.Parameters["@out_Result"].Direction = ParameterDirection.Output;
sqlcmd1.Parameters["@out_Message"].Direction = ParameterDirection.Output;
sqlcmd1.ExecuteNonQuery();
int Status = Convert.ToInt16(sqlcmd1.Parameters["@out_Result"].Value);
string retMessage = Convert.ToString(sqlcmd1.Parameters["@out_Result"].Value);
}
不过,虽然sqlcmd1.ExecuteNonQuery()。我收到以下错误:
PROCEDURE TE_SMS.usp_SendSMS_Insert;预计8,得到0
我甚至在它执行之前检查了命令中的参数。它们在参数列表中可用。 我在这里错过了什么?
你不需要做sqlcmd1.CommandType = CommandType.StoredProcedure; ? – BugFinder
我在调用此代码之前添加了它。但我错过了,我已经创建了该命令的新实例... – Vijay
那么现在是否已修复? – BugFinder