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

简介:

当参数为模糊查询时,需要按以下方法达到预期效果

1
2
3
4
5
6
7
8
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的通配符用法是这样:     
?”表示任何单一字符; “*”表示零个或多个字符; “#”表示任何一个数字     
所以应该是:     

1
select * from  databasename  where  fieldname like  '*XX*'

原来在SQL SERVER 里是用%%的,在ACCESS里是用**号的,怪不得都找不到数据!    
但如果在VS2005的TableAdapter里又要用%%,用* 不行!

这里我主要还是说下SQL Server下的用法,只要记住一点,@后面就是你要传的参数,至于这个@后面的内容是否与前台传过来的内容一模一样,不需要去考虑,这块是活的,就像上面的例子,当模糊查询的时候,就必须有%号啊,总不能让前台传进来%号吧,所以在给parameter[x].value赋值的时候,组出来一个真正想放进sql语句里的串就OK了。










本文转自 我不会抽烟 51CTO博客,原文链接:http://blog.51cto.com/zhouhongyu1989/1341399,如需转载请自行联系原作者

目录
相关文章
|
SQL 存储 缓存
SQl Server——ADO.NET五大对象
在某些编程中总是会需要用到数据库,那如何让应用程序和数据库之间建立联系呢?ADO.NET就提供了应用程序连接数据库的桥梁
4.SQL和ADO.Net【下】
4.SQL和ADO.Net【下】
44 0
|
SQL 数据库
3.SQL和ADO.Net【上】
3.SQL和ADO.Net【上】
64 0
|
SQL 索引
6.SQL和ADO.Net高级【中】
6.SQL和ADO.Net高级【中】
74 0
5.SQL和ADO.Net高级【上】
5.SQL和ADO.Net高级【上】
59 0
|
SQL .NET
一起谈.NET技术,看看Entity Framework 4生成的复杂的分页SQL语句
  之前发现Entity Framework 4生成的COUNT查询语句问题,今天又发现它生成的分页SQL语句问题,而LINQ to SQL却不存在这个问题。   >>> 来看一看,瞧一瞧!   上代码:   看生成的SQL语句:   1. Entity Framework生成的SQL:   一个TOP,三个FROM。
1007 0
|
SQL 关系型数据库 Oracle
20180126模拟SQL*Net message from dblink
[20180126]模拟SQL*Net message from dblink.txt SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER -----------...
1026 0
|
SQL 数据库 网络安全
0124奇怪的SQL*Net message from dblink
[20180124]奇怪的SQL*Net message from dblink.txt --//生产系统出现大量的SQL*Net message from dblink事件,自己分析看看.
2167 0