我在.net2003服务器资源管理器环境里面建立了存储过程
如下:
ALTER PROCEDURE dbo.searchcompany
(
@keyword char(50)
)
AS
SET NOCOUNT ON
select * from company
where companyname like '%' + @keyword +'%'
RETURN @@error
从网上看了很多例子,确实用存储过程实现模糊查询就是这样写的。
实际运行的时候,如果我关键字填写单位全称,那么可以查询出来,如果只填写“有限公司”这样的查询条件,什么都没有。实在令人郁闷,到底错误在什么地方呢?
如下:
ALTER PROCEDURE dbo.searchcompany
(
@keyword char(50)
)
AS
SET NOCOUNT ON
select * from company
where companyname like '%' + @keyword +'%'
RETURN @@error
从网上看了很多例子,确实用存储过程实现模糊查询就是这样写的。
实际运行的时候,如果我关键字填写单位全称,那么可以查询出来,如果只填写“有限公司”这样的查询条件,什么都没有。实在令人郁闷,到底错误在什么地方呢?
解决方案 »
- 关于imagefield的使用 为什么总是无法显示图片
- asp网站sql防注入问题
- ajax asp.net控件应用报错,服务器无法在发送http标头之后修改cookie
- asp.net 发布时,提示同一依赖程序集的不同版本之间出现冲突?求解决之道。
- asp.net 生成静态网页的问题
- 数据库类型中有小数位,类型只能设置成float????
- 网站注入漏洞问题?解决另外送分100,送券50!
- 一个关于jmail的问题,其实是一个关于文件流的问题,望高手指教,谢谢!!!!
- 谁有nDOC的中文版?
- 高手请进
- 如何在制作安装打包WEB项目中一起将SQL Server 数据库一起打包安装?
- 有关VSS版本控制问题
(
@keyword char(50)
)
AS
SET NOCOUNT ON
declare @keystr varchar(10)
set @keystr='%'+@keyword
select * from company
where companyname like @keystr
RETURN @@error
这样试下看
ALTER PROCEDURE dbo.searchcompany
(
@keyword char(50)
)
AS
SET NOCOUNT ON
declare @keystr varchar(10)
set @keystr='%'+cast(@keyword as varchar(10))
select * from company
where companyname like @keystr
RETURN @@error
用char的话,后面有一堆空格