问题:有的时候我们从查询的结果中取值,有的列是没有查询到值,这个时候就有可能抛:System.DBNull转换的异常!
a.DBNull是没有查询到值
b.”“是查询到了值,但该值是空字符串
解决方案:
a.使用类型转换类Convert来判断
注释:grvPrice是GridView控件
gr是for循环中的GridViewRow
machine_category是列名子
If System.Convert.IsDBNull(grvPrice.DataKeys(gr.RowIndex)("machine_category")) Then
code = "null"
Else
code = grvPrice.DataKeys(gr.RowIndex)("machine_category").ToString
End If
b.使用DBNull.value来判断
if(grvPrice.DataKeys(gr.RowIndex)("machine_category"))=DBull.Value)
code = "null"
Else
code = grvPrice.DataKeys(gr.RowIndex)("machine_category").ToString
End If