0

我正在用 C# 重写 IronPython WPF 应用程序(出于各种原因)。在 IPython 中,我可以执行以下操作:

行 = dt.GetList()

foreach(行中的行);

 ln = row["lastname"]  ... etc.

等等。由于 C# 对数据类型更加挑剔,我无法弄清楚如何让 foreach 之类的东西工作,甚至无法让普通索引版本(在下面的 MessageBox 中)工作。我还没到想把它变成 CollectionView 的地步。已经在谷歌上搜索了很多关于如何做比这更复杂的事情的信息——我可能最终想这样做——但现在,只是想看看我是否可以将我的数据恢复为简单的类似 Oracle 的数据类型- 字符串、整数等。建议表示赞赏。

        OracleDataAdapter da = new OracleDataAdapter(sql, db_connection);
        DataTable dt = new DataTable();
        da.Fill(dt);

        System.Collections.IList rows = ((IListSource)dt).GetList();
        MessageBox.Show(rows[0]["lastname"]);
4

1 回答 1

1

你不必转换你的数据表,已经有一个数据行列表。

使用 foreach 循环:

foreach (DataRow row in dt.Rows)
    MessageBox.Show(row["id"].ToString());

您还可以通过以下方式访问:

MessageBox.Show(dt.Rows[0]["id"].ToString());

要打印整个表格:

foreach (DataRow row in dt.Rows)
{
    foreach (DataColumn col in dt.Columns)
    {
        Console.Write(row[col] + " ");
    }
    Console.WriteLine("");
}

使用 col.DataType,您可以检索类型;)

希望它会有所帮助

于 2011-02-08T08:30:41.110 回答