在 Web API 应用程序中查询 MS Access 数据库时,如果我尝试将空字符串分配给变量,则会收到“指定的强制转换无效”异常。IOW,当这段代码:
var accountID = oleDbD8aReader.GetInt16(0);
var platypusName = oleDbD8aReader.GetString(1);
...到达结果集中第二列包含空/空字符串的记录,它会爆炸。
所以,我想我可以像这样在传球时阻止它:
string platypusName;
var accountID = oleDbD8aReader.GetInt16(0);
if (!string.IsNullOrEmpty(oleDbD8aReader.GetString(1)))
{
platypusName = oleDbD8aReader.GetString(1);
}
else
{
platypusName = string.Empty;
}
...但它不起作用 - 我仍然收到“指定的演员表无效”异常。
如何安全地检查那里的空字符串/空值并忽略通过结果集的传递,以便获得后续记录?
或者我可以通过更改 SQL 语句以从结果集中排除空/空字符串来排除这种情况?如果是这样,怎么做?查询格式如下:
SELECT td_duckbill_accounts.platypus_no, t_accounts.name
FROM t_accounts
INNER JOIN td_duckbill_accounts ON t_accounts.account_no = td_duckbill_accounts.account_no
ORDER BY td_duckbill_accounts.platypus_no