ホーム > SQL Server, VB.NET, WordPress, コンピュータ, データベース, 動画 > VB.NET Tips SqlDataReaderを変数+文字で参照する記述方法

VB.NET Tips SqlDataReaderを変数+文字で参照する記述方法

2009 年 3 月 31 日

SqlDataReaderを変数+文字で参照する記述方法

photo by digi / Jeroen

データベースに接続し、ExecuteReaderでSqlDataReader へ結果を返しRecordsetの先頭から1行づつ読み取ります。

この処理の過程で、普通に値を得るには、

Dim RS As System.Data.SqlClient.SqlDataReader
Dim hCommand As System.Data.SqlClient.SqlCommand
'データベース接続処理
Call C_ADO_Connect.ADO_Connect()
hCommand.CommandText = "SELECT * FROM hoge"
RS = hCommand.ExecuteReader()
hCommand.Dispose()
While (RS.Read())

    'Hoge_nameへ代入 ここです!
    Hoge_name = RS!hoge_name

End While
RS.Close()
'データベース切断処理
Call C_ADO_Connect.ADO_Close()

こんな感じで、”RS!テーブル項目名”で取得します。

クラスにコードを振り分けて、クラス側で処理させたい時、テーブル名をクラス側のプロシージャへ引数で渡し、そのテーブル名を使用して、SqlDataReaderからテーブル名+文字で参照する場合は、どう記述すれば良いのでしょうか?

Public Sub  db_insert(ByVal TableName As String)

Dim RS As System.Data.SqlClient.SqlDataReader
Dim hCommand As System.Data.SqlClient.SqlCommand

'データベース接続処理
Call C_ADO_Connect.ADO_Connect()
hCommand.CommandText = "SELECT * FROM hoge"
RS = hCommand.ExecuteReader()
hCommand.Dispose()
While (RS.Read())

    'Hoge_nameへ代入 ここです!
    Hoge_name = RS(TableName & "_name")

End While
RS.Close()
'データベース切断処理
Call C_ADO_Connect.ADO_Close()

End Sub

このように、”RS!~”ではなく、”RS(~)”で参照できます。

たまに、記述方法を忘れちゃうんですよね……

関連するエントリー

    None Found

SQL Server, VB.NET, WordPress, コンピュータ, データベース, 動画 , , , , , ,

  1. コメントはまだありません。
  1. トラックバックはまだありません。