ADO.NET和ORACLE操作数据库传参数赋值的方式

在使用.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#中的数据类型对照表

原文地址:https://www.cnblogs.com/wangyuru/p/3715763.html