DBのSELECT結果を、DataTableで取得するサンプルです。
サンプル
例)DBのSELECT結果をDataTableで取得する
以下情報のSQLServerを対象としています。
- サーバ名:192.168.1.1\test
- DB名:db01
- ユーザID:hoge
- パスワード:pass
using System;
using System.Data.SqlClient;
// 接続情報
string constr = @"Data Source=192.168.1.1\test;User Id=hoge;Password=pass;Initial Catalog=db01";
try
{
// コネクションを取得する
using (var conn = new SqlConnection(constr))
{
// コネクションをオープンする
conn.Open();
// コマンドを取得する
using (SqlCommand cmd = conn.CreateCommand())
{
// SQL文をセットする
cmd.CommandText = @"SELECT * FROM test_table WHERE kbn = @kbn";
// パラメータをセットする
cmd.Parameters.Add("@kbn", SqlDbType.NChar, 1).Value = "1";
// SELECTしてDataTableに取り込む
var dataAdapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
dataAdapter.Fill(dt);
// DataTableからSELECT結果を取得してコンソールに出力する
foreach(DataRow dr in dt.Rows)
{
var col1 = dr[0]; //1カラム目の値を取得する
var col2 = dr[1]; //2カラム目の値を取得する
var col3 = dr[2]; //3カラム目の値を取得する
Console.WriteLine(col1 + "-" + col2 + "-" + col3);
}
}
}
}
catch (SqlException ex)
{
Console.WriteLine(ex);
}
備考
- SELECT結果をDataTableで取得するには、System.Data.SqlClient.SqlDataAdapter#Fill を使用します。(上例だと27行目です。)
- 5行目の接続情報は以下記事を参考に、お使いの環境に書き換えてください。
→ [C#] DBコネクション接続文字列のパラメータ一覧