gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 21:15:35 25 4
gpt4 key购买 nike

我正在尝试使用以下代码使用客户端访问 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() 的第一个参数似乎无关紧要,尽管按照惯例我将其设为与字段名称相同。

关于c# - 来自 .NET 的参数化 DB2 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2374698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com