【发布时间】:2020-12-17 15:23:05
【问题描述】:
我需要从数据库中检索一个单词/varchar(有时它可以是空字符串或空值)。 我正在使用小巧玲珑,我根本无法检索任何东西。 Web 上的许多教程和问题仅涉及检索 Integer 值,而从未提及 String。
这是我目前得到的:
using (var db = new FbConnection(csb.ToString()))
{
await db.OpenAsync();
result = db.ExecuteScalarAsync<string>("SELECT NOME from NACION WHERE NOME = @nacion", new { nacion }).ToString();
db.Close();
}
result 变量应该是字符串,如 "Word" 或空/空字符串,具体取决于查询结果。
现在,它正在返回类似这样的奇怪内容:System.Threading.Tasks.Task'1[System.String]
我做错了什么?
【问题讨论】:
-
你忘了等待任务,即
result = await db.Execute....。 -
如果某些内容不是字符串,请不要只调用
ToString()。检查为什么这不是你想象的那样。顺便说一句,您不需要显式调用db.Close(),一旦执行离开using块,就会发生这种情况
标签: c# asp.net-core async-await