为了支持多个数据库,数据访问层中我用的是DbParameter,当使用ado.net 中的ExecuteNonQuery执行时,出现了
”操作失败:ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER“ 这个错误,
我调试发现dbparameter中把dbtype的datetime类型转换为Oracledbtype中的TimeStamp类型而不是date类型,我想问下怎么处理好,
Oracle.DataAccess 这个dll在绑定parammeter的时候默认是按顺序来匹配的,当parameter中的顺序跟sql语句中的顺序不一样时就会出错。
这个属性不调试的时候也能看到,不过不太清楚你是怎么写的。
另外,你可以设置这个OracleCommand的BindByName为true,Oracle.DataAccess就可以按变量名而不是按顺序找变量了。