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里又要用%%,用* 不行!