У меня есть StoredProcedure
, который я создал вот так:StoredProcedure Неверное количество аргументов (C#)
Затем я попытаюсь назвать это из своего кода на C# так;
using (var con = new MySqlConnection(MySQLConStr))
{
con.Open();
using (MySqlCommand cmd = new MySqlCommand("Alerts_GetAlerts", con))
{
cmd.Parameters.AddWithValue("@managerID", managerID);
using (var dataReader = cmd.ExecuteReader())
{
while (dataReader.Read())
{
var alert = new AlertsModel
{
ID = Convert.ToInt32(dataReader[0]),
Type = Convert.ToInt32(dataReader[1]),
ManagerID = Convert.ToInt32(dataReader[2]),
EmployeeID = Convert.ToInt32(dataReader[3]),
HolidayID = Convert.ToInt32(dataReader[4]),
};
AllAlerts.Add(alert);
}
}
}
return AllAlerts;
}
Однако я постоянно получать, Incorrect number of arguments for PROCEDURE sdcdatabase.Alerts_GetAlerts; expected 1, got 0
, хотя мне кажется, я передаю аргумент ManagerID через;
cmd.Parameters.AddWithValue("@managerID", managerID);
Где я буду неправильно?
Попробуйте добавить 'cmd.CommandType = CommandType.StoredProcedure;' – Pikoh
это будет выглядеть как http://stackoverflow.com/a/38706288 – Drew
ли ManagerID переменная целого типа ? Не используйте AddWithValue, но используйте определенную перегрузку параметра ParametersCollection.Add, которая позволяет указать точный тип данных вашего параметра. – Steve