2014-02-26 29 views
4
Private Function Gelobee() As DataSet 
    Dim connection As OleDb.OleDbConnection = New OleDbConnection 
    connection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=CMP.accdb" 
    connection.Open() 
    Dim da As OleDb.OleDbDataAdapter = New OleDbDataAdapter("SELECT IDDesc FROM [ItemDesc] WHERE IDPartNo = '" & PartNoTxt.Text & "';", connection) 
    Dim ds As New DataSet 
    da.Fill(ds, "FilteredDesc") 
    connection.Dispose() 
    connection = Nothing 
    If ds.Tables.Count > 0 Then 
    If ds.Tables[0].Rows.Count > 0 Then 
      DescTxt.Text = ds.Tables(0).Rows(0).Item(0) 
     Else 
      DescTxt.Text = "No Description" 
     End If 
    End If 

    Return ds 
End Function 

嗨,我试图检查数据集是否有行。但它给了我错误在“ds.Tables [0] .Rows.Count> 0”。我的代码有问题吗?我试图搜索整个网络,但我似乎无法找到答案。VB.Net检查数据集是否有行或不

+0

您会得到什么错误? – MusicLovingIndianGirl

+0

它说“错误类型'System.Data.DataTableCollection'的值不能转换为'布尔'。” – user3148632

+0

如果我明白标题正确..数据集没有行。它是一组“数据表”。 – Codemunkeee

回答

9

VB.NET语法来访问索引器应该是带括号...

If ds.Tables(0).Rows.Count > 0 Then 
+0

谢谢!我没有注意到它。 – user3148632

1

你的错误,你曾用 “[]” 在VB.net代替 “()”

您的代码应该更正为

ds.Tables(0).Rows.Count