您的位置:首页 > 数据库

ADO.net 关于SqlParameter 遇到Like问题如何解决

2013-12-17 10:03 323 查看
当参数为模糊查询时,需要按以下方法达到预期效果

String name ="as";
String sql ="select * FROM tbl_table where Name like '%@Name%' ";
SqlParameter parameter=new SqlParameter("@Name", name) ;
//这样不管是SqlCommand或者SqlAdapter都不能获取这个@Name
String name ="as";
String sql ="select * FROM tbl_table where Name like @Name ";
searchName ="%"+searchName+"%"; //不用单引号,传到sql语句会自动添加
SqlParameter  parameter =new SqlParameter("@Name", name) ;
以上情况在sql server2k里面出现
在ACCESS中LIKE的用法
Access里like的通配符用法是这样:
“?”表示任何单一字符; “*”表示零个或多个字符; “#”表示任何一个数字
所以应该是:

select*from databasename where fieldname like '*XX*'
原来在SQL SERVER 里是用%%的,在ACCESS里是用**号的,怪不得都找不到数据!
但如果在VS2005的TableAdapter里又要用%%,用* 不行!
这里我主要还是说下SQL Server下的用法,只要记住一点,@后面就是你要传的参数,至于这个@后面的内容是否与前台传过来的内容一模一样,不需要去考虑,这块是活的,就像上面的例子,当模糊查询的时候,就必须有%号啊,总不能让前台传进来%号吧,所以在给parameter[x].value赋值的时候,组出来一个真正想放进sql语句里的串就OK了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐