46

私は他の誰かが書いたいくつかのコードを適応させており、時間のために DataTable を返す必要があります。

次のようなコードがあります。

using (SqlCommand command = new SqlCommand(query, conn))
{
      //add parameters and their values

      using (SqlDataReader dr = command.ExecuteReader())
      {
          return dr;
      }

しかし、データテーブルを返す最良の方法は何ですか?

4

2 に答える 2

88

DataTable.Loadメソッドを使用して、SqlDataReader からの値をテーブルに入力します。

using (SqlDataReader dr = command.ExecuteReader())
{
    var tb = new DataTable();
    tb.Load(dr);
    return tb;
}
于 2012-12-14T00:25:05.573 に答える
12

DBDataAdapter を使用する

msドキュメントからの抜粋

// Create the DbDataAdapter.
DbDataAdapter adapter = new DbDataAdapter();
adapter.SelectCommand = command;

// Fill the DataTable.
DataTable table = new DataTable();
adapter.Fill(table);
于 2012-12-14T00:25:37.087 に答える