2012-01-31 40 views
0

我在操作数据集时遇到问题,我如何过滤行而无需获取表中的全部记录。如何操作数据集

这里是我的代码:

For j As Integer = 0 To sDataSet.Tables(tran_ar_so_t.Name).Rows.Count - 1 
     Dim nQty, nPrice, nAmount As Double 
     With sDataSet.Tables(tran_ar_so_t.Name) 
      nQty = IIf(.Rows(j).Item("nQty") Is DBNull.Value, 0, .Rows(j).Item("nQty")) : nPrice = IIf(.Rows(j).Item("nPrice") Is DBNull.Value, 0, .Rows(j).Item("nPrice")) 
      ComputeNet(j) 
      nAmount = net * nQty 
      .Rows(j).Item("nAmountDue") = nAmount 
     End With 
    Next 
+0

我不明白这个问题,也不明白代码是如何与问题相关的。你能举出一个正在发生的事情和你想要发生的事情的例子吗? – 2012-01-31 06:45:06

回答

0

也许DataTable.Select()方法可以解决你的问题。检查这个例子:

Dim filterCondition As String = "nQty > 10" 'A where statement you need 
    Dim filteredRows As DataRow() = sDataSet.Tables(tran_ar_so_t.Name).Select(filterCondition) 

替换“nQty> 0”与您的过滤条件,那么在filteredRows你会发现只与给定条件匹配的DataRow中。