c# - 如何修改我的代码 - 如何循环到数据表的第 n 行?

标签 c# for-loop

我当前的代码循环遍历 DataTable 对象的特定列的所有行。我希望它只循环到倒数第二个位置。我该怎么做?

我知道这可以通过 for 循环而不是我的 foreach 来完成。但是,我不知道如何获取行数,然后根据索引逐行迭代。这就是我需要帮助的地方。

    public void Main()
    {
        OleDbDataAdapter oleDA = new OleDbDataAdapter();
        DataTable dt = new DataTable();
        DataColumn col = null;
        DataRow row = null;
        string strCols = null;

        oleDA.Fill(dt, Dts.Variables["ExecuteSQLTask_ResultSet"].Value);
        col = dt.Columns["AColumInDataTable"];

        foreach (DataRow row_ in dt.Rows)
        {
            row = row_;
            strCols = strCols + row[col.Ordinal].ToString() + ", ";
        }

        strCols = strCols.Substring(0, strCols.Length - 2);

        MessageBox.Show("Rows of a column contain - " + strCols);

        Dts.TaskResult = (int)ScriptResults.Success;
    }

最佳答案

将您的foreach 更改为

for(int i=0; i<dt.Rows.Count-1;i++)
{
   var row = dt.Rows[i]
   strCols += row[col.Ordinal].ToString() + ", ";
}

根据您的编辑,您可以使用 dt.Rows.Count 获取行数。要获取倒数第二行,请使用 dt.Rows[dt.Rows.Count-2]

另请注意,您可以在字符串上使用 +=

关于c# - 如何修改我的代码 - 如何循环到数据表的第 n 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19526215/

相关文章:

java - 通过循环进行迭代

c# - 尝试创建新表时对象名称无效

c# - 如何将异步 HttpClient 响应返回给 WinForm?

java - 验证Java中的回文。你能帮我找出这段代码有什么问题吗

json - 在 Django 模板中迭代 JSON

javascript - FOR 循环中的逗号运算符,它是如何工作的?

java - System.out.println() 在 java 中如何工作?

c# - 设置在具体类的接口(interface)中定义的只读属性

c# - 如何使用 System.Runtime.Serialization.Json 序列化对象列表?

javascript - 如何在 gridview 图像按钮内使用模态弹出扩展器?