gpt4 book ai didi

c# - 不为mysql存储过程c#获取参数

转载 作者:行者123 更新时间:2023-11-29 19:35:13 24 4
gpt4 key购买 nike

我在 MySQL 数据库中有存储过程。此过程采用 6 个输入参数和 2 个输出参数。

我需要从我的 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

我什至在执行之前检查了命令中的参数。它们在参数列表中可用。我在这里缺少什么?

最佳答案

希望这有帮助

在将输入/输出参数添加到 sql 命令对象之前添加以下行。

sqlcmd1.CommandType = CommandType.StoredProcedure;

关于c# - 不为mysql存储过程c#获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41586993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com