0

C# で IronPython WPF アプリを書き直しています (さまざまな理由により)。IPython では、次のようなことができます。

行 = dt.GetList()

foreach (行の行);

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

など。C# はデータ型にかなりうるさいので、foreach のようなものを機能させる方法や、単純なインデックス付きバージョン (下のメッセージ ボックス内) を機能させる方法さえ理解できませんでした。私はそれをCollectionViewに変えたいとは思っていません。これよりもはるかに複雑なことを行う方法について、かなりの情報をグーグルで検索しました-最終的にはそれをやりたいと思うかもしれません-しかし、今のところ、データを単純なOracleのようなデータ型に戻すことができるかどうかを確認しようとしています- 文字列、Int など。提案を歓迎します。

        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 に答える