gpt4 book ai didi

.net - 为什么 SQL Anywhere 忽略 @ 命名参数?

转载 作者:行者123 更新时间:2023-12-02 01:36:54 24 4
gpt4 key购买 nike

我正在使用 Dapper 查询 SQL Anywhere 数据源,我收到一个错误,似乎我的 where 子句值的“@”前缀被忽略了。

 Double balance = qb.Query<Double>("select end_balance_amt from QBReportAdminGroup.v_lst_customer where list_ident = @listid", new { listid = ListID }).Single();

错误:

Column '@listid' not found

我可以访问该表并且我的手动查询工作正常。

select end_balance_amt from QBReportAdminGroup.v_lst_customer where list_ident = '8000000B-1433635931'

例子:

enter image description here

最佳答案

对于 SQL Anywhere 及其 .Net 数据提供程序(至少是 Sap.Data.SQLAnywherev4.5),参数的前缀应为 : 而不是 @

在我看来,这就是您的问题所在。但我不知道 Dapper 是否应该从其用户那里抽象出此类供应商的特定行为。

所以你应该尝试:

Double balance = qb.Query<Double>(
"select end_balance_amt from QBReportAdminGroup.v_lst_customer where list_ident = :listid",
new { listid = ListID }).Single();

关于.net - 为什么 SQL Anywhere 忽略 @ 命名参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30688879/

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