• 締切済み

Datatableへの代入

環境はVS2005です。 以下のように読込んだデータをdatatblに格納し、 DataGridにバインドしたいのですが、コンパイルは通りますが、 エラーとなってしまいます。 どのように解決すればよいのでしょうか? DataTable tbl = new DataTable(); while (sqlDataReader.Read()) {   tbl.Rows.Add(sqlDataReader["banner_id"].ToString());  tbl.Rows.Add(sqlDataReader["Adv"].ToString()); } sqlDataReader.Close(); this.DataGridView.DataSource = tbl; this.DataGridView.DataBind(); エラーメッセージ:入力配列がこのテーブルの列数より長い値です すみませんが、よろしくお願い致します。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

RowsコレクションのAddメソッドならば DataRowを与えるか Rowsの列データに見合う配列を与えないといけないでしょう DataRow row; while (sqlDataReader.Read()) {   row = tbl.NewRow();   row[列名1] = sqlDataReader["banner_id"].ToString();   row[列名2] = sqlDataReader["Adv"].ToString();   tbl.Rows.Add(row); } といった具合でしょう

すると、全ての回答が全文表示されます。

関連するQ&A