gpt4 book ai didi

asp.net - 错误查询 : Incorrect syntax near ')'

转载 作者:行者123 更新时间:2023-12-05 01:33:07 25 4
gpt4 key购买 nike

我有 ASP.NET 应用程序,我们使用 Dapper 库。产生错误的代码如下所示:

public bool CheckIfExists(IEnumerable<long> ticketGroups, long dateId, int userId)
{
bool bRetVal = false;
string sql = "if exists (select * from T_TicketGroupsToChangePrice where SubTypeId = @SubTypeId and DateId = @dateId and UserId = @userId)";
using (var conn = CreateSqlConnection())
try
{
int rows = conn.Execute(sql, ticketGroups.Select(g => new { SubTypeId = g, UserId = userId, dateId }));
if (rows > 0)
bRetVal = true;
}
catch (SqlException ex)
{
throw new Exception("Error", ex);
}

return bRetVal;
}

当我运行应用程序时,它抛出异常:')' 附近的语法不正确

如您所见,可以有更多具有相同日期和用户的工单(IEnumerable 类型)。

我不确定发生了什么。

最佳答案

那是因为以 if 开头的 SQL 是无效的(如果您打算使用 T-SQL,那么它是有效的,但是您必须编写整个 if声明)

我认为您需要一个简单的案例:

select case
when exists (select * from T_TicketGroupsToChangePrice where SubTypeId = @SubTypeId and DateId = @dateId and UserId = @userId)
then 1
else 0
end

关于asp.net - 错误查询 : Incorrect syntax near ')' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31473349/

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