用ASP.Net2005和Oracle9i做模糊查询时报ORA-01722错误解决方法

我在用gridview进行配置模糊查询语,生成的语句是:SELECT     DICT_NAME, CODE, NAME
FROM         BASE_DICT
WHERE     (CODE LIKE '%' + :code + ' %')
测试查询输入变量值后报错:错误源:system.data.oracleclient
                          ora-01722:无效数字
code字段类型是字符串型的,请高手指点


解决方法:
将“+”改为“||”就会正常了,不在报ORA-01722的错误。在Oracle中不是使用“+”来连接字符串的,而是使用“||”。你的Sql语句换为“||”后就OK了,我在VS.Net2005中测试过了,改变后如下:
SELECT     DICT_NAME, CODE, NAME
FROM         BASE_DICT
WHERE     (CODE LIKE '%' || :code || '%')

你可能感兴趣的:(用ASP.Net2005和Oracle9i做模糊查询时报ORA-01722错误解决方法)