-1

我有一个函数,它根据某列中的某个值从数据表中返回单个数据行。如果该值不产生一行怎么办,我如何通过使用空行来确定呢?

即,如果我有一个查询返回一个有 0 行的表,我可以说

         if(table.rows.count == 0)  
          { 
            do stuff
          }

但我做不到

        if(row.columns.count)
         {
           do stuff
         }

我试过 dbnull 和 row.haserrors 但这不是我想要的。我想测试该行,因为如果它确实有值,我需要使用它

我将数据表传递给函数。然后循环查找特定字段上的特定值。如果我找到它,我分配该行并返回它。否则它只返回一行

所以我得到了 Dim myRow 作为 DataRow

如果找到值则循环,MyRow = thisRow Next

返回我的行

(抱歉是vb)

4

1 回答 1

0

检查 if DataRowis null,如果不是,则遍历ItemArray并查看是否有任何列有数据,如下所示:

// Assume it is empty
bool isRowEmpty = true;

if (row != null)
{
    foreach(var columnValue in row.ItemArray)
    {
        if (columnValue != null)
        {
            isRowEmpty = false;
            break;
        }
    }
}

这是 VB.NET 版本:

' Assume it is empty
Dim isRowEmpty As Boolean = True

If row IsNot Nothing Then
    For Each columnValue As var In row.ItemArray
        If columnValue IsNot Nothing Then
            isRowEmpty = False
            Exit For
        End If
    Next
End If
于 2013-10-09T19:01:31.727 回答