ODP.NET和参数

Geo*_*lva 0 oracle odp.net

我建立了一个共同的应用程序,PostgreSQL的工作和应该在甲骨文工作.

但是,当通过参数化查询插入记录时,我会遇到奇怪的错误.

我的格式化查询如下所示:

"INSERT INTO layer_mapping VALUES(@ lm_id,@ lm_layer_name,@ lm_layer_file);"

与记录如何使用参数的Npgsql不同,我无法找到Oracle如何"更喜欢"使用它们.我只能找到:1,:2,:3,例如.

我不想使用顺序参数,我想以命名的方式使用它们.

有办法吗?难道我做错了什么?

谢谢

Jos*_*ush 6

您可以像使用ODP.NET一样使用命名参数:

using (var cx=new OracleConnection(connString)){
   using(var cmd=cx.CreateCommand()){
      cmd.CommandText="Select * from foo_table where bar=:bar";
      cmd.BindByName=true;
      cmd.Parameters.Add("bar",barValue);
      ///...
   }
}
Run Code Online (Sandbox Code Playgroud)