【问题标题】:Efficient way to check if DataTable has row检查DataTable是否有行的有效方法
【发布时间】:2010-10-25 11:08:10
【问题描述】:

我有一个搜索关键字然后返回 DataTable 的函数。我想检查里面是否有行,因为有时找不到查询。

    'which one shoud I use ?
    If dtDataTable Is Nothing Then
        'some code
        lbl_count.Text = "Found 0 result"
    End If

    If dtDataTable.Rows.Count > 0 Then
        'some code
        lbl_count.Text = "Found " & dtDataTable.Rows.Count.ToString & " results"
    End If

谢谢。

【问题讨论】:

  • 我在问我应该使用哪一个而不是两个。好吧,不管怎样,谢谢大家的回复。

标签: vb.net datatable


【解决方案1】:

Steve Echols 两头钉在头上,所以您知道 Andalso 检查第一个条件,如果第一个条件失败,则返回 FALSE;如果第一个条件为 TRUE,那么它才会检查第二个条件。

这样John Boker的观点也得到了照顾!

向两位致敬!

【讨论】:

    【解决方案2】:

    如果您使用的是 VB 9.0 (VS 2008),您可以简单地使用以下内容

    lbl_count.Text = String.Format("Found {0} result(s)", if(dbDataTable, dbDataTable.Rows.Count,0))
    

    【讨论】:

      【解决方案3】:

      怎么样:

      If dtDataTable IsNot Nothing AndAlso dtDataTable.Rows.Count > 0 Then
          'some code
          lbl_count.Text = "Found " & dtDataTable.Rows.Count.ToString & " results"
      Else
          'some code
          lbl_count.Text = "Found 0 result"
      End If
      

      【讨论】:

        【解决方案4】:

        你应该使用第二个,我不认为第一个会起作用,如果它起作用,第二个不会起作用,因为 dtDataTable.Rows 会抛出一个空引用异常。

        【讨论】:

        • 是的,它会抛出未设置为对象实例的对象引用。
        猜你喜欢
        • 1970-01-01
        • 2011-12-19
        • 2011-01-04
        • 2019-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-13
        • 2020-03-23
        相关资源
        最近更新 更多