c# - 如何通过 ODBC C# 绑定(bind)参数?

标签 c# parameters odbc

我需要在 C# 的 ODBC 查询上绑定(bind)参数。这是示例代码,但是 VS 告诉我缺少一个参数。

OdbcCommand cmd = conn.CreateCommand();

cmd.CommandText = "SELECT * FROM user WHERE id = @id";
cmd.Parameters.Add("@id", OdbcType.Int).Value = 4;
OdbcDataReader reader = cmd.ExecuteReader();

在 ODBC 上绑定(bind)值的语法是什么?

最佳答案

Odbc 不能使用命名参数。这意味着命令字符串为每个参数使用占位符,这个占位符是一个问号,而不是参数名称。

OdbcCommand.Parameters

然后你需要按照它们在命令字符串中出现的顺序在集合中添加参数

OdbcCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM [user] WHERE id = ?";
cmd.Parameters.Add("@id", OdbcType.Int).Value = 4;
OdbcDataReader reader = cmd.ExecuteReader();

您还有另一个问题,USER 词是每个 MS Access 数据库的保留关键字,如果您想将其用作字段名或表名,则需要用方括号将每个引用括起来。我强烈建议,如果可能的话,更改该表名,因为您会经常遇到这个问题。

关于c# - 如何通过 ODBC C# 绑定(bind)参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18082840/

相关文章:

c# - SQLite中参数的使用

php - 如何在 OSX 上将 ODBC 添加到 MAMP

sql-server - 如何在 Windows 7 - 64 位中安装 IBM db2 ODBC 驱动程序?

Perl DBD::ODBC 到 Informix DBMS

c# - ITEXTSharp 将 PDF 文件附加到磁盘上已有的文件中

c# - 创建隐藏文件夹

c# - 在WPF-MVVM中的“当前窗口”中保存并关闭

string - ada split() 方法

php空白$_GET[]检测

post - Wiremock 匹配请求 POST by params