从DataTable中读取值

11
我有一个包含数据/值的 DataTable,我想从 DataTable 中读取数据并将其传递给字符串变量。
我有以下代码:
DataTable dr_art_line_2 = ds.Tables["QuantityInIssueUnit"];
我有一个像这样的计数器:
for (int i = 1; i <= broj_ds; i++ )
{                                    
    QuantityInIssueUnit_value => VALUE FROM DataTable
    QuantityInIssueUnit_uom  => VALUE FROM DataTable    
}

这是否可行?如果是,那么如何将数据从DataTable传递到这些变量中?

谢谢!


broj_ds是什么(我的意思是它的“起源”)? - Leri
这是一个整数值,用作计数器,不是字符串到数据表格的转换。我使用它来计算数据集中的元素数量 int broj_ds = ds.Tables["Line"].Rows.Count; - CrBruno
你为什么想要在每次迭代中覆盖变量的值? - Stig
我有一个for-each循环,在其中我有一个for循环。for循环必须执行与for-each相同的次数,既不多也不少,因此我必须构建某种计数器来处理所有这些。 - CrBruno
4个回答

21
DataTable dr_art_line_2 = ds.Tables["QuantityInIssueUnit"];

for (int i = 0; i < dr_art_line_2.Rows.Count; i++)
{
    QuantityInIssueUnit_value = Convert.ToInt32(dr_art_line_2.Rows[i]["columnname"]);
    //Similarly for QuantityInIssueUnit_uom.
}

7
你可以使用foreach循环来完成。
DataTable dr_art_line_2 = ds.Tables["QuantityInIssueUnit"];

  foreach(DataRow row in dr_art_line_2.Rows)
  {
     QuantityInIssueUnit_value = Convert.ToInt32(row["columnname"]);
  }

0

我认为它会起作用

for (int i = 1; i <= broj_ds; i++ ) 
  { 

     QuantityInIssueUnit_value = dr_art_line_2[i]["Column"];
     QuantityInIssueUnit_uom  = dr_art_line_2[i]["Column"];

  }

0

对于VB.Net来说是

        Dim con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "database path")
        Dim cmd As New OleDb.OleDbCommand
        Dim dt As New DataTable
        Dim da As New OleDb.OleDbDataAdapter
        con.Open()
        cmd.Connection = con
        cmd.CommandText = sql
        da.SelectCommand = cmd

        da.Fill(dt)

        For i As Integer = 0 To dt.Rows.Count
            someVar = dt.Rows(i)("fieldName")
        Next

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接