当前位置: 首页 > 面试题库 >

使用ODBC的Dapper WHERE IN语句

司空繁
2023-03-14
问题内容

我在ODBC提供程序上使用Dapper,众所周知,该提供程序不支持命名参数。对于大多数查询,我使用伪命名参数:?name?。但是,当我尝试

 string query = $"select * from \"{TableName}\" where ID in ?Ids?";
 return connection.Query<CdfGroupByCdfUserRecord>(query, new {Ids = ids}).ToArray();

我看到Dapper产生查询

select * from "MY_TABLE" where ID in (?Ids1,?Ids2,?Ids3,?Ids4,?Ids5)?

我应该怎么做才能使其正常工作?


问题答案:

这似乎是dapper中的错误。我将尝试将其修复为1.50.2。我已经在这里记录了它(用于跟踪)



 类似资料:
  • 我正在使用Oracle ODBC驱动程序,希望动态传递变量。我的查询是这样的: 虽然这个查询在OracleSQLDeveloper中运行良好,但我认为我没有为ODBC驱动程序正确执行编写查询。有什么建议吗? 从ODBC日志: 退出SQLExecDirectW,返回代码为-1(SQL_错误)“define val='Test';\a从Name='Test'所在的表中选择*

  • 问题内容: 我不知道使用一个相对于另一个有什么优点和缺点。这个问题源自我在这里得到的建议:根据记录的实际大小为数据库查询动态分配缓冲区。 我正在寻找重要差异的列表(而不是详尽的列表),这将有助于我做出有根据的决策。我有win32 :: odbc的工作经验,可以对此进行真正的证明。如果有人可以在“书面”详细信息的基础上分享他/她的经验,那将非常有帮助。 附加信息:Win32 :: ODBC的作者在此

  • 问题内容: 我正在向数据库中插入多行,并将它们连接在一起以提高性能。我收到一个ODBCException告诉我我的SQL语法错误。但是,当我在mysql命令行客户端中尝试它时,它就可以正常工作。我运行了一个简化的测试来描述该过程。 命令行客户端: 之后,我在同一数据库上运行了此代码: 这给了我以下错误: 问题答案: 是的,ODBC不支持批处理。 (编辑:有关最新解决方案,请参见@ Jean-Do的

  • 主要内容:创建 ODBC 连接,连接到 ODBC,取回记录,从记录中取回字段,关闭 ODBC 连接,ODBC 实例ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库)。 创建 ODBC 连接 通过一个 ODBC 连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要 ODBC 连接是可用的。 这是创建到达 MS Access 数据库的 ODBC 连接的方法: 在控

  • 在Ruby下使用ODBC的扩展类库。

  • DBD-ODBC 为 Perl 的 DBI::DBD 提供了 ODBC 驱动的功能,允许 Perl 程序通过它访问各种 ODBC 数据源。在 Unix 平台上支持 unixODBC 和 iODBC。