在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
你需要处理'DBNull'。 –