gpt4 book ai didi

vb.net - 将数据表与 DBNULL 值进行比较

转载 作者:行者123 更新时间:2023-12-01 13:44:23 26 4
gpt4 key购买 nike

我正在使用以下查询将数据从 SQL 提取到 DataTables 中:

Select * FROM [dbname].INFORMATION_SCHEMA.COLUMNS 

我正在使用以下代码比较来自两个数据表的值:

If dtSource(iRow)(3) <> dtTarget(i)(3) Then
'make moves
End If

我收到以下错误:未为类型“DBNull”和类型“DBNull”定义运算符“<>”。

比较 INFORMATION_SCHEMA.COLUMNS 中的 COLUMN_DEFAULT 列时抛出异常,其中包含 NULL 值。

我现在处理这个问题的方法是在比较它们之前检查是否有任何空值:

If IsDBNull(dtSource(iRow)(3)) OR IsDBNull(dtTarget(i)(3)) Then 
If (IsDBNull(dtSource(iRow)(3)) And NOT IsDBNull(dtTarget(i)(3))) OR viceversa.. Then
'make moves
End If
Else
If dtSource(iRow)(3) <> dtTarget(i)(3) Then
'make moves
End If
End If

我觉得必须有更好的方法来做到这一点,但我坚持这一点。感谢您的帮助!

最佳答案

尝试:

   If Not IsDBNull(dtSource(iRow)(3)) AndAlso Not IsDBNull(dtTarget(iRow)(3)) AndAlso dtSource(iRow)(3) <> dtTarget(i)(3) Then
'make moves
ElseIf IsDBNull(dtSource(iRow)(3)) Or IsDBNull(dtTarget(iRow)(3)) Then
'make moves
Else
'Failure
End If

关于vb.net - 将数据表与 DBNULL 值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37007616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com