标签: c# asp.net casting datatable null
我想检查数据表中的以下字段是否为null:
r.Field<int>("prod_type") if (r.Field<int>("prod_type") != null && !string.IsNullOrEmpty(r.Field<int>("prod_type").ToString()))
但我得到以下例外:
指定的演员表无效。
如何检查数据表中的整数值是否为null或为空?
答案 0 :(得分:4)
Field扩展方法支持可空类型。使用HasValue检查可空是否为空:
Field
HasValue
if (r.Field<int?>("prod_type").HasValue)
答案 1 :(得分:2)
您收到的错误表明数据表中的字段不是int 类型的字段。如果类型为int,则无法保留空值,您可以尝试int? Nullable。
int
int?
r.Field<int?>("prod_type") != null
答案 2 :(得分:1)
如果prod_type确实是数据库中的int字段,请尝试这样做:
prod_type
if (r.Field<int?>("prod_type") != null)