Я использую dapper для вставки в базу данных, искал мой код, чтобы найти то, что произошло, не смог найти ничего необычного.
Код работает с оператором SELECT, но некогда я делаю вставку, я всегда получаю сообщение об ошибке:
System.Data.SqlClient.SqlException: 'Должен объявить скалярную переменную "@SKU".
Когда яудалить первый параметр из базы данных, класс, функцию и процедуру, я всегда получаю одну и ту же ошибку для первого параметра.
public class Products
{
public string SKU;
public string Title;
public string ImageLink;
}
Использование функции dapper для вставки:
public void insertItem(Products newProduct)
{
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("SellersDB")))
{
List<Products> dbnewProduct = new List<Products>();
dbnewProduct.Add(newProduct);
connection.Execute("dbo.Item_Insert @SKU, @Title, @ImageLink", dbnewProduct);
}
}
Процедура:
CREATE PROCEDURE [dbo].[Item_Insert]
@SKU nchar(10),
@Title nchar(100),
@ImageLink nchar(50)
AS
BEGIN
SET NOCOUNT ON;
insert into dbo.ProductsTable (SKU, Title, ImageLink) values (@SKU, @Title, @ImageLink);
END
База данных:
CREATE TABLE [dbo].[ProductsTable] (
[SKU] NCHAR (10) NULL,
[Title] NCHAR (100) NULL,
[ImageLink] NCHAR (50) NULL
);
Произошла ошибка на линии возбуждения.