这个SQL语句正在检索一行的ID,但是可能不存在这样的行。当我在GUI工具中执行特定的SQL语句时,它返回“从...返回0行,在0ms中返回”。然而,当我使用ExecuteScalarAsync<int>
执行相同的SQL语句时,它返回0,没有出现异常或null。我如何知道是否存在这样的行?理论上,可能有一个ID为0的行。
PS:这是我使用Nuget添加的SQLite-net(https://github.com/praeclarum/sqlite-net)。它的版本是1.4.118。 SQL语句非常简单。我更改了字段名称,但基本上是这样的:
using SQLite;
public Task<int> GetLastID()
{
return RealDatabase.ExecuteScalarAsync<int>
("SELECT max(ID) FROM DATA)");
}
ExecuteScalarAsync<int?>
吗? - Evknull
,但是当有匹配时,它抛出了一个异常。异常信息为:NotSupportedException: 不知道如何读取 System.Nullable
1[System.Int32]`。 - Damn Vegetables