用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 || '%')
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 || '%')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.