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

我在用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 || '%')

作者对转载者要求说明(以下简称本说明):

1、确保您已经遵守了《中华人民共和国信息网络传播权保护条例》,且必须遵守《刚刚网络作品版权声明》(若两文件有冲突内容以《中华人民共和国信息网络传播权保护条例》为准,但其他非冲突内容依然各自有效),再转载。

2、“本说明、作者、作者博客网址及作者博客坐落,本文中提及的各种说明、备注或附录性文字”必须被转载,且不得改变其原有内容和要表达的意图!
作者:刚刚   作者博客网址:http://lijigang.cnblogs.com/   作者博客坐落在博客园


把握现实生活,培养自身能力
掌握新型技术,提高自我力量

原文地址:https://www.cnblogs.com/lijigang/p/1198245.html