程晓晖

博客园 首页 新随笔 联系 订阅 管理

 "SELECT   CAST(SUBSTRING(MAX(BoxID),   10,   3)   AS   int)   from   Box   WHERE   BoxID   like   '%'   +   @subString   +   '%'"

参数化的意义在于把对应的值从参数中提供,对于like语句,like后面的值则包括了单引号中的所有部分,包括百分号(%),因此在参数化like对应的值时,应该把百分号移到参数值中提供,像这样:

Cmd.Parameters["@KeyWord"].Value = "%" + StrKeyWord + "%";

可别奢想在sql语句中像这样的样子:

Select * From [TableName] Where [Column1] like '%@KeyWord%'

不会报错,不过你不可能查询到想要的结果

 

posted on 2010-12-15 15:11  fumen  阅读(806)  评论(0编辑  收藏  举报