自定义数据注释语法错误
Custom data annotation syntax error
我创建了一个自定义数据注释来通知用户输入了重复的 SKU。数据注释如下:
[Remote("doesSKUExist", "Products", HttpMethod = "POST", ErrorMessage = "SKU already exists. Please enter a different SKU.")]
public string SKU { get; set; }
在 ProductsController 中我有以下内容:
[HttpPost]
public JsonResult doesSKUExist(string Sku)
{
string conStr = @"Data Source=cmsapirontech.database.windows.net;Initial Catalog=CMSDatabase;Integrated Security=False;User ID=dwight;Password=Fatboy99!;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
SqlConnection sqlconn = new SqlConnection(conStr);
SqlCommand does_SKU_exist = new SqlCommand("SELECT SKU FROM [Product] WHERE([SKU] = @SKU", sqlconn);
sqlconn.Open();
does_SKU_exist.Parameters.Add("SKU", SqlDbType.VarChar).Value = Sku;
var sku = does_SKU_exist.ExecuteScalar();
return Json(sku == null);
}
目前,我在以下行遇到错误:
var sku = does_SKU_exist.ExecuteScalar();
"Incorrect syntax near @SKU"有人可以帮忙吗?
你忘记在 where 子句后关闭 )
,但实际上你的情况不需要 (
和 )
:SqlCommand 初始化应该如下所示:
SqlCommand does_SKU_exist = new SqlCommand("SELECT SKU FROM [Product] WHERE [SKU] = @SKU", sqlconn);
在添加参数的同时还需要做一个小改动,即:
does_SKU_exist.Parameters.Add("@SKU", SqlDbType.VarChar).Value = Sku;
我创建了一个自定义数据注释来通知用户输入了重复的 SKU。数据注释如下:
[Remote("doesSKUExist", "Products", HttpMethod = "POST", ErrorMessage = "SKU already exists. Please enter a different SKU.")]
public string SKU { get; set; }
在 ProductsController 中我有以下内容:
[HttpPost]
public JsonResult doesSKUExist(string Sku)
{
string conStr = @"Data Source=cmsapirontech.database.windows.net;Initial Catalog=CMSDatabase;Integrated Security=False;User ID=dwight;Password=Fatboy99!;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
SqlConnection sqlconn = new SqlConnection(conStr);
SqlCommand does_SKU_exist = new SqlCommand("SELECT SKU FROM [Product] WHERE([SKU] = @SKU", sqlconn);
sqlconn.Open();
does_SKU_exist.Parameters.Add("SKU", SqlDbType.VarChar).Value = Sku;
var sku = does_SKU_exist.ExecuteScalar();
return Json(sku == null);
}
目前,我在以下行遇到错误:
var sku = does_SKU_exist.ExecuteScalar();
"Incorrect syntax near @SKU"有人可以帮忙吗?
你忘记在 where 子句后关闭 )
,但实际上你的情况不需要 (
和 )
:SqlCommand 初始化应该如下所示:
SqlCommand does_SKU_exist = new SqlCommand("SELECT SKU FROM [Product] WHERE [SKU] = @SKU", sqlconn);
在添加参数的同时还需要做一个小改动,即:
does_SKU_exist.Parameters.Add("@SKU", SqlDbType.VarChar).Value = Sku;