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

时间:2023-03-17 20:10:38

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

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

SQLServer在C#中的数据类型对照表

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