テーブルの全レコード取得
DataAdapterオブジェクトのFillメソッドを使って、テーブルから全レコードを取得するサンプルプログラムです。
MDB版 サンプルプログラム
社員テーブルから全レコードを取得する処理を、Functionプロシージャ(関数)として実装する。
ソースリストの枠内をクリックすると全選択できます。
Imports System.Data.OleDb Public Class FormSelectAll2 Inherits System.Windows.Forms.Form #Region " Windows フォーム デザイナで生成されたコード " ' 自動生成部分省略 #End Region '------------------------------------------------------------ ' フォームロード処理 '------------------------------------------------------------ Private Sub FormSelectAll2_Load _ (ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' 全レコードを取得してコンソールに出力 Dim syain As New DataTable() Dim msg As String Dim strOut As String Dim i As Integer ' 全レコード取得・その2 msg = getSyainAll(syain) If msg = "" Then ' 取得レコードの確認 For i = 0 To syain.Rows.Count - 1 strOut = (i + 1).ToString + "件目==>" strOut += "社員コード:" + CStr(syain.Rows(i).Item(0)) strOut += ", 氏名:" + CStr(syain.Rows(i).Item(1)) strOut += ", カナ:" + CStr(syain.Rows(i).Item(2)) strOut += ", 部門コード:" + CStr(syain.Rows(i).Item(3)) strOut += vbCrLf + Space(9) strOut += " 入社年月日:" + CStr(syain.Rows(i).Item(4)) strOut += ", 更新日時:" + CStr(syain.Rows(i).Item(5)) Trace.WriteLine(strOut) Next Else ' レコードが取得できなかった時の処理 MessageBox.Show(msg, "エラー", MessageBoxButtons.OK) End If End Sub '------------------------------------------------------------- ' 機能:社員テーブルから全レコードを取得する ' 引数:ByRef DataTableオブジェクト ' 戻値:正 常 --> 空文字列 エラー --> エラーメッセージ '------------------------------------------------------------- Private Function _ getSyainAll(ByRef syain As DataTable) As String Const SELECT_SYAIN As String = _ "SELECT * FROM 社員テーブル ORDER BY 社員コード" Dim con As New OleDbConnection() Dim cmd As New OleDbCommand() Dim da As New OleDbDataAdapter() Dim dt As DataSet = New DataSet() Try ' DB接続文字列の設定 ' プロジェクトフォルダ下のbinフォルダにsample.mdbを置く con.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ Application.StartupPath & "\sample.mdb" ' コネクションの設定 cmd.Connection = con ' SQL文の設定 cmd.CommandText = SELECT_SYAIN ' データを取得する da.SelectCommand = cmd da.Fill(syain) ' 取得レコード数のチェック If syain.Rows.Count = 0 Then ' レコードがなかった時の処理 Return "社員テーブルにレコードがありません" Else Return "" End If Catch ex As Exception ' 例外が発生した時の処理 Return ex.ToString End Try End Function End Class