プログラマもどきの雑記

仕事の事だったり趣味の事だったり、本当に雑記。

.NETでNpgsqlのDataReaderを使ってDataTableを作成する方法

DBから取得したデータをComboBoxにセットしたり、
DataGridViewに表示したりするときに使える方法の基本形。

'実行したいSQL文
Dim strSQL As String = "SELECT ID , NAME FROM OPERATOR"

'接続情報
Dim Con As NpgsqlConnection = New NpgsqlConnection("接続文字列")

'コマンド
Dim Cmd As NpgsqlCommand = New NpgsqlCommand(strSQL, Con)

'DataReaderにデータ取得
Dim reader As NpgsqlDataReader = Cmd.ExecuteReader() 

'DataTableを作成
Dim dt As DataTable
dt.Columns.Add("ID",GetType(Integer))
dt.Columns.Add("NAME",GetType(String))

'DataTableにセットするDataRow
Dim dr As DataRow

'取得したデータをDataTableにセットする
While reader.Read()
    dr = dt.NewRow()
    dr(0) = reader("ID")
    dr(1) = reader("NAME")
    dt.Rows.Add(dr)
End While

'DataTableをコンボボックスのDataSourceに設定
ComboBox.DataSource = Nothing
ComboBox.DataSource = dt

'表示用の値とSelectedValueで取得できる値を設定する
ComboBox.DisplayMember = "NAME"
ComboBox.ValueMember = "ID"