VB.NET Tips 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