加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 来自.NET的参数化DB2查询

发布时间:2020-12-15 04:17:54 所属栏目:百科 来源:网络整理
导读:我试图使用客户端访问ODBC驱动程序使用以下代码从.NET运行针对DB2数据库的参数化查询: var db2Cmd = new OdbcCommand("INSERT INTO presnlats (LAT) VALUES (@LAT)",db2Conn);db2Cmd.Parameters.AddWithValue("@LAT",insertValue);Console.Out.WriteLine(db
我试图使用客户端访问ODBC驱动程序使用以下代码从.NET运行针对DB2数据库的参数化查询:
var db2Cmd = new OdbcCommand("INSERT INTO presnlats (LAT) VALUES (@LAT)",db2Conn);
db2Cmd.Parameters.AddWithValue("@LAT",insertValue);
Console.Out.WriteLine(db2Cmd.ExecuteNonQuery());

执行时,抛出OdbcException:

ERROR [42S22] [IBM][iSeries Access ODBC Driver][DB2 UDB]SQL0206 – Column @LAT not in specified tables.

The internets似乎暗示客户端访问ODBC驱动程序支持参数化查询,但此错误似乎表示不同.提供的代码有什么问题吗?

解决方法

你试过用过吗?作为占位符而不是@LAT?
var db2Cmd = new OdbcCommand("INSERT INTO presnlats (LAT) VALUES (?)",db2Conn);

db2Cmd.Parameters.AddWithValue("LAT",insertValue);

Console.Out.WriteLine(db2Cmd.ExecuteNonQuery());

这是MS Access在使用OdbcConnection / OdbcCommand时所需要的.

您只需要确保您的Parameters.AddWithValue()语句与INSERT语句中的字段列表的顺序相同.传递给AddWithValue()的第一个参数似乎并不重要,尽管按惯例我将它与字段名称相同.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读