----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0  
'SQLサーバーのインポート
Imports System.Data.SqlClient
Public Class Form1
    'データベース(SQLサーバー)の定義
    Private dbCon As New SqlConnection()                                'データベースのコネクション
    Private dbCmd As New SqlCommand()                                   'データベースのコマンド
    Private dbDr As SqlDataReader                                       'データベースのデータリーダー
    '******************************************************************************
    '*  フォームのロード(イベント処理)
    '******************************************************************************
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'データグリッドビューの列見出し(タイトル名,幅)の定義
        Dim aryColHeader() As String = {"ユーザーID", "操作者名", "パスワード", "性別", "作成日"}
        Dim aryColLength() As Integer = {160, 180, 160, 60, 100}
        Dim aryList As New ArrayList()
        Dim rowInfo() As String
        '性別コンボボックスの定義(性別)
        Dim comboBoxCol As New DataGridViewComboBoxColumn
        'データベース接続(Data Source=サーバー名,Catalog=データベース名)
        dbCon.ConnectionString =
              "Data Source=PUBLIC\SQLEXPRESS;Initial Catalog=dbExpress;Integrated Security=True"
        dbCon.Open()
        dbCmd.Connection = dbCon
        '性別テーブルの検索(SQL文)の設定
        Dim strSQL As String = "SELECT seibetu_kanji" _
                              & "  FROM exp_seibetu" _
                              & " ORDER BY seibetu"
        '性別テーブルの検索
        dbCmd.CommandText = strSQL
        dbDr = dbCmd.ExecuteReader()
        aryList.Clear()
        aryList.Add("")
        '性別テーブルより情報の取得
        While dbDr.Read()
            aryList.Add(dbDr("seibetu_kanji"))
        End While
        'データリーダーの解放
        dbDr.Close()
        '性別コンボボックスにバインド
        comboBoxCol.DataSource = aryList
        'データグリッドビューの編集(コンボボックスセルがある場合、Columns.Addで列を設定)
        With DataGridView1
            .Columns.Clear()
            'データグリッドビューのプロパティ
            .BackgroundColor = Color.LightGray                          '背景色
            .RowsDefaultCellStyle.BackColor = Color.Honeydew            '行の背景色
            .AlternatingRowsDefaultCellStyle.BackColor = Color.Ivory    '行の交互背景色
            'データグリッドビューの列数の設定(Columns.Addの場合、列数の指定は不要)
            '.ColumnCount = 5
            'データグリッドビューの列情報の設定
            For i As Integer = 0 To 4 '.Columns.Count - 1
                '.Columns(i).HeaderText = aryColHeader(i)               '列ヘッダーのタイトル
                If i = 3 Then                                           '勤務区別(コンボボックス)
                    comboBoxCol.HeaderText = aryColHeader(i)
                    .Columns.Add(comboBoxCol)
                Else
                    .Columns.Add("col" & i.ToString, aryColHeader(i))
                End If
                .Columns(i).Width = aryColLength(i)                     '列の幅
            Next
        End With
        'ユーザーテーブルの検索(SQL文)の設定
        strSQL = "SELECT usr.user_id AS usr_id, usr.user_name AS user_name," _
                     & " usr.pass_word AS pass_word, sei.seibetu_kanji AS seibetu_kanji," _
                     & " usr.renew_date AS renew_date" _
               & "  FROM exp_user AS usr" _
                     & " LEFT JOIN exp_seibetu AS sei ON usr.seibetu = sei.seibetu" _
               & " ORDER BY user_id"
        'ユーザーテーブルの検索
        dbCmd.CommandText = strSQL
        dbDr = dbCmd.ExecuteReader()
        'データグリッドビューの行にユーザーテーブルの取得情報の追加
        While dbDr.Read()
            ReDim rowInfo(5)
            rowInfo(0) = dbDr.GetSqlString(0)       'dbDr("usr_id")
            rowInfo(1) = dbDr.GetSqlString(1)       'dbDr("user_name")
            rowInfo(2) = dbDr.GetSqlString(2)       'dbDr("pass_word")
            rowInfo(3) = dbDr.GetSqlString(3)       'dbDr("seibetu_kanji")
            rowInfo(4) = dbDr.GetDateTime(4)        'dbDr("renew_date")
            DataGridView1.Rows.Add(rowInfo)
        End While
        'データリーダーの解放
        dbDr.Close()
        'データベース解放
        dbCmd = Nothing
        dbCon.Close()
    End Sub
End Class