如何访问DataRow的内容?

时间:2014-03-24 15:26:20

标签: c# asp.net .net sql-server

我有以下问题。

我有一个代表单个列表的 DataTAble 对象,该列名为 VulnerabilityReferenceId ,如下所示:

VulnerabilityReferenceId
167554
167555
167556
167557
167558
167559
167560
167561

所以我想创建一个访问这些行的foreach并将值放入变量

我做了:

foreach (DataRow row in _dt.Rows)
{
    Debug.WriteLine("VulnerabilityReferenceId: "  );
}

但是我该怎么做才能访问当前行的值并将其放入int变量?

4 个答案:

答案 0 :(得分:4)

这可能是一种读取字段并将其转换为所需数据类型的方法。 它需要从NET3.5引用DataSetExtension程序集,您可以在其中找到DataRowExtensions class

foreach (DataRow row in _dt.Rows)
{
    int id = row.Field<int>("VulnerabilityReferenceId");
    .....
}

注意:我假设字段VulnerabilityReferenceId的类型为整数

答案 1 :(得分:1)

您可以使用列名作为索引器,将值设为object

foreach (DataRow row in _dt.Rows)
{
    int vulRefId=Convert.ToInt32(row["VulnerabilityReferenceId"]);
    Debug.WriteLine("VulnerabilityReferenceId: " +vulRefId  );
}

答案 2 :(得分:0)

尝试以下方法:

for(int i=0;i<_dt.Rows.Count;i++)
 {
   Debug.WriteLine("VulnerabilityReferenceId: "+dt.Rows[i][0].ToString());
 }

答案 3 :(得分:-1)

foreach (DataRow row in _dt.Rows)
{
    String stringVal = row["VulnerabilityReferenceId"].ToString();
    int myId = Convert.ToInt32(stringVal);
}