如何使用通配符搜索参数化?
How to use Wildcard Search Parameterized?
public DataTable Search()
{
DataTable dt = new DataTable();
SqlCommand searchcommand = new SqlCommand(
"Select * from [ITEM MASTER] WHERE Item_Description LIKE '%' @Item_Description '%' ", con);
searchcommand.Parameters.Add("@Item_Description", SqlDbType.NVarChar).Value = search;
SqlDataAdapter da = new SqlDataAdapter(searchcommand);
da.Fill(dt);
return dt;
}
这是我的代码。我需要有关如何使用面向对象编程创建参数化搜索的帮助
简答
正如 Nathan 所说,只需在 @Item_Description
参数的两边添加 +
即可。这将 concatenate it together 与命令字符串的其余部分。
SqlCommand searchcommand = new SqlCommand("Select * from [ITEM MASTER] WHERE Item_Description LIKE '%' + @Item_Description + '%' ", con);
更多建议
如果你想让你的代码更具可读性,你可以使用 @
做一个 verbatim string。除其他事项外,逐字字符串让我们可以将一个字符串放在多行中,如下所示:
SqlCommand searchcommand = new SqlCommand(
@"Select *
from [ITEM MASTER]
WHERE Item_Description
LIKE '%' + @Item_Description + '%' ", con);
为了提高可读性,您可以将字符串放入其自己的变量中,将 T-SQL 关键字全部大写,并在命令文本的末尾添加一个分号,看起来像这...
最终代码示例
var commandText = @"
SELECT *
FROM [ITEM MASTER]
WHERE Item_Description
LIKE '%' + @Item_Description + '%';
";
SqlCommand searchcommand = new SqlCommand(commandText, con);
在我看来,当您下次在维护工作中遇到它时,读起来会更好。
public DataTable Search()
{
DataTable dt = new DataTable();
SqlCommand searchcommand = new SqlCommand(
"Select * from [ITEM MASTER] WHERE Item_Description LIKE '%' @Item_Description '%' ", con);
searchcommand.Parameters.Add("@Item_Description", SqlDbType.NVarChar).Value = search;
SqlDataAdapter da = new SqlDataAdapter(searchcommand);
da.Fill(dt);
return dt;
}
这是我的代码。我需要有关如何使用面向对象编程创建参数化搜索的帮助
简答
正如 Nathan 所说,只需在 @Item_Description
参数的两边添加 +
即可。这将 concatenate it together 与命令字符串的其余部分。
SqlCommand searchcommand = new SqlCommand("Select * from [ITEM MASTER] WHERE Item_Description LIKE '%' + @Item_Description + '%' ", con);
更多建议
如果你想让你的代码更具可读性,你可以使用 @
做一个 verbatim string。除其他事项外,逐字字符串让我们可以将一个字符串放在多行中,如下所示:
SqlCommand searchcommand = new SqlCommand(
@"Select *
from [ITEM MASTER]
WHERE Item_Description
LIKE '%' + @Item_Description + '%' ", con);
为了提高可读性,您可以将字符串放入其自己的变量中,将 T-SQL 关键字全部大写,并在命令文本的末尾添加一个分号,看起来像这...
最终代码示例
var commandText = @"
SELECT *
FROM [ITEM MASTER]
WHERE Item_Description
LIKE '%' + @Item_Description + '%';
";
SqlCommand searchcommand = new SqlCommand(commandText, con);
在我看来,当您下次在维护工作中遇到它时,读起来会更好。