如何将命名参数传递给 Visual FoxPro OLE DB 命令?

How to pass a named parameter to an Visual FoxPro OLE DB Command?

我最近使用 Visual FoxPro OLE DB Provider 在 VS.NET 中访问了一些 DBF。一切正常,直到我发现我无法弄清楚如何将参数传递给查询。 我用这个作为查询

Select `group`, `i_name`, `j_name`, ... From `mytable` Where `valid` AND `group` IN (@`group1`, @`group2`);

并向参数集合(即 IDbCommand.Parameters)添加了两个名为 group1group2 的带有字符串值的参数。

然后我收到一个 OleDbException,告诉我语法错误。

我已经试过了

Select `group`, `i_name`, `j_name`, ... From `mytable` Where `valid` AND `group` IN (?, ?);

它奏效了。

我只是想知道 FoxPro OLE DB Provider 是否支持命名参数?如果是,如何在查询中引用它?

FoxPro OLE DB 提供程序不支持命名参数。我发现这对我处理的一些东西来说是个问题,所以我最终创建了一个围绕 FoxPro OLE DB 提供程序的包装器。如果您有兴趣,这里是 example 使用命名参数与我的提供商。