小编典典

vb.net检查数据库值是否为空

sql

我正在vb.net中运行查询,我想测试列是否为空。我试过了:

If reader.GetString(2) IsNot Nothing Then

If IsDBNull(reader.GetString(2)) Then

If reader.GetString(2) IsNot NULL Then

If NOT reader.GetString(2) IS Nothing Then

If NOT reader.GetString(2) IS NULL Then

但它们都返回:

Data is Null. This method or property cannot be called on Null values.

当我在MySQL中运行查询时,列显示 NULL


阅读 233

收藏
2021-05-16

共1个答案

小编典典

问题是在GetString内部将行值转换为字符串的方法。如果行值为null,则将获得异常。

该修复程序正在使用VB.NET三元运算符

Dim result = IF(reader.IsDbNull(2), "", reader.GetString(2))

或者,如果您不想在第三个字段为null时分配默认值,则可以简单地编写

if Not reader.IsDbNull(2) Then
   .......
End if
2021-05-16