Asp.net 正在将“%1”添加到SQL命令中

Asp.net 正在将“%1”添加到SQL命令中,asp.net,sql-server,charts,sqlcommand,Asp.net,Sql Server,Charts,Sqlcommand,我有一个SQL查询,我想在asp.net WebForms项目中运行它 查询是: 从菜单\u订单\u完成中选择计数[订单] 其中[order]类似于“%EXAMPLE%”我认为您需要字符串连接: search = new SqlCommand("SELECT COUNT([order]) FROM menu_orders_Finished WHERE [order] LIKE CONCAT('%', @order, '%')", con); concat“%”、@order

我有一个SQL查询,我想在asp.net WebForms项目中运行它 查询是: 从菜单\u订单\u完成中选择计数[订单]
其中[order]类似于“%EXAMPLE%”我认为您需要字符串连接:

search = new SqlCommand("SELECT COUNT([order]) FROM menu_orders_Finished WHERE [order] LIKE CONCAT('%', @order, '%')", con);

concat“%”、@order“%”应该可以工作。如果使用,也可以使用“%+@order+%”。但有两个未解决的问题。名字很可能是保留字,所以请使用[name],如果名称为null会发生什么?您应该在if/then中加上null检查,并跳过行搜索。或将[name]添加到驱动循环的主查询中不为null。所以我不认为concat失败了,但是一个空值会破坏它,并且用[name]代替nameDon't use。养成良好的编码习惯。这应该行得通。您收到了什么错误消息?