在使用.Net使用OracleParameter进行Oracle数据库操作的时候,因为Oracle和SQLServer针对查询参数化的语法不同,
在操作SQLServer的时候使用的是@ParameterName,
而Oracle使用的是:ParameterName
而且sql伪语句也有相应的变化,对比一下sqlserver和oracle的区别:
String sql = "delete from postinfo where id=@id";
SqlParameter p1 = new SqlParameter("@id", id);
String sql = "delete from postinfo where id=:id";
OracleParameter p1 = new OracleParameter("id", id);
示例2:
strSql = "update web_goods set producthtml= :output where productid='"+strProductid+"'";
OracleParameter[] ps=new OracleParameter[1];
ps[0] = new OracleParameter();
ps[0].ParameterName = "output";
ps[0].OracleType = OracleType.Clob;
ps[0].Value = output;
另外就是需要检查数据类型是否相符,此处附上Oracle和SQLServer在C#中的数据类型对照表。
Oracle在C#中的数据类型对照表
SQLServer在C#中的数据类型对照表