'Должен объявить скалярную переменную "@categoryid". Когда я пытаюсь вставить данные из процедуры в базу данных с dapper - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь вставить данные в свою базу данных с помощью простой процедуры, но когда я нажимаю кнопку, я продолжаю возвращаться:

'Должен объявлять скалярную переменную "@categoryid".

Могу добавить, что другое добавление данных без переменной работает без проблем.

Где я могу ошибиться?

Вставить класс:

public partial class B_Line
{
    public B_Line()
    {
        this.Budget_Scheme = new HashSet<Budget_Scheme>();
    }

    public int Line_id { get; set; }
    public int Category_id { get; set; }
    public string Name { get; set; }
    public string Comment { get; set; }

    public void InsertLine(int categoryID, string name, string comment)
    {
        using (var connection = Connection.ConnectionFactory.GetOpenConnection())
        {
            List<B_Line> lines = new List<B_Line>();
            lines.Add(new B_Line {Category_id = categoryID, Name = name, Comment = comment});
            connection.Execute("dbo.Insert_Line @categoryid, @name, @comment", lines);
        }
    }
}

Кнопка исключения:

private void Button1_Click(object sender, EventArgs e)
{
    B_Line lines = new B_Line();
    int ID_Kategorii = Int32.Parse(categoryID.Text);
    lines.InsertLine(ID_Kategorii, nameLine.Text, commentLine.Text);
}

Хранимая процедура MSSQL:

ALTER procedure [dbo].[Insert_Lines](@categoryid int, @name nchar(40), @comment nchar(100)) as insert into BCategory (Category_id, Name, Comment) Values (@categoryid, @name, @comment)

1 Ответ

0 голосов
/ 24 июня 2019

Здесь вы найдете всю необходимую вам помощь:

https://medium.com/dapper-net/get-started-with-dapper-net-591592c335aa

разделы «Параметры» и следующий «Хранимые процедуры». Повеселись! :)

...