C# 我的SQL参数无法表示查询中的长文本
我有以下代码:C# 我的SQL参数无法表示查询中的长文本,c#,sql,asp.net,C#,Sql,Asp.net,我有以下代码: TextBox3.Text = "FD&C Yellow No 6 /E110 Sunset Yellow Lake 35"; cmd.CommandText = "SELECT S.Qty AS Qty, S.Units, S.Packing, S.Lot, S.Price, S.PackSize, S.Location FROM Product P, Stock S, Lot L WHERE P.Product = L.ProductID and S.Lot=L.L
TextBox3.Text = "FD&C Yellow No 6 /E110 Sunset Yellow Lake 35";
cmd.CommandText = "SELECT S.Qty AS Qty, S.Units, S.Packing, S.Lot, S.Price, S.PackSize, S.Location FROM Product P, Stock S, Lot L WHERE P.Product = L.ProductID and S.Lot=L.Lot and P.Product = @Pro ;";
cmd.Parameters.AddWithValue("@Pro", TextBox3.Text);
虽然查询应该获取值,但它没有获取值。出现此问题的原因是文本很长,因为它可以处理较短的文本,即使它们具有相同的特殊字符,如&/
如何解决此问题?数据库表中Product列的确切类型是什么?一个可能的问题是使用“旧”联接语法,即在“from”子句中包含多个表。相反,使用显式连接子句。这可以防止“旧”语法出现很多问题。这不是一个很长的文本。当作为参数传递时,此文本不可能表示数据库引擎有问题。相反,我将查找与数据库表上的值不完全相同的空格。您是否尝试使用LIKE搜索“FD&C%”以查看它是否返回所需的记录?是否尝试在SQL Management Studio中运行相同的查询?DB中的产品列为nvarchar max。