升级ODP.NET后遇到的问题!大家帮帮我,否则项目就要砸了。
SELECT2 = "select :SUPPLY_NO AS SUPPLY, MOVE_DATE, MOVE_CLS, STATUS, INS_TIME, UP_TIME from TB_SUPPLY where STATUS = :STATUS and MOVE_CLS = :MOVE_CLS";
AddParameter( "STATUS", Type.Char, 1, "STATUS" );
AddParameter( "MOVE_CLS", Type.Char, 1, "MOVE_CLS" );
AddParameter( "SUPPLY_NO", Type.Char, 6, "SUPPLY_NO" );
SetParameterValue( "STATUS", status );
SetParameterValue( "MOVE_CLS", moveCls );
SetParameterValue( "SUPPLY_NO", supplyNo );
上面是主要的代码,要传参数到SQL里。"STATUS","MOVE_CLS", 这两个参数都正常的。
问题出在"SUPPLY_NO"。
以前用Microsoft Managed Data Provider for Oracle是好的,现在用的是Oracle Data Provider for .NET(Ver 9.2.0.2.102)。
把上面的SQL改成: SELECT2 = "select '123456', MOVE_DATE, MOVE_CLS, STATUS, INS_TIME, UP_TIME from TB_SUPPLY where STATUS = :STATUS and MOVE_CLS = :MOVE_CLS";
"SUPPLY_NO"用常数这样就好了。
出错的信息是:"ORA-01036: illegal variable name/number。"
这个问题很严重,希望大家帮帮我。