ConnectionクラスのGetSchemaメソッドを呼び出すと、接続したMicrosoft SQL Server 2008 Express データベースのテーブルの列名(フィールド名)を取得することができます。

接続したデータベースのテーブルの列名を取得するサンプルプログラムを作成します。
[列名取得]ボタンをクリックすると、GetSchemaメソッドの引数に指定したテーブル(表)の列名をラベルに表示します。
列名を取得するためには、テーブル名を取得する場合と同様に、GetSchemaメソッドの引数を正しく設定する必要があります。
GetSchemaメソッドには、ふたつの引数に5つの値を設定します。
GetSchemaメソッドを呼び出した結果は、DataTableオブジェクトとして返され、列名称は、"COLUMN_NAME"列に格納されています。
最初に参照の追加で、System.Configurationを追加してください。
app.configファイルの接続文字列を修正します。AttachDbFilenameキーワード内に「Database=販売管理データベース;」を追加します。
コネクションオブジェクトは、Usingステートメントを使っているので、データベースを自動的にCloseします。Closeメソッドを呼出す必要はありません。
Option Strict On Imports System.Data.SqlClient Imports System.Configuration Public Class GetSchemaColumns Private Sub BtnColumnName_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles BtnColumnName.Click Try Dim dt As New DataTable Using con As New SqlConnection Dim settings As ConnectionStringSettings ' 接続文字列をapp.configファイルから取得 settings = _ ConfigurationManager.ConnectionStrings("販売管理ConString") If settings Is Nothing Then ' 接続文字列取得エラー MessageBox.Show("app.configに未登録","接続文字列エラー") Else ' 接続文字列の設定 con.ConnectionString = settings.ConnectionString ' DBを開く con.Open() ' 列名称取得 dt = con.GetSchema("Columns", New String() _ {"販売管理データベース", "dbo", "商品マスター表"}) End If End Using ' スキーマ情報をラベルに表示 If dt.Rows.Count > 0 Then Label1.Text = "--- 商品マスター表列名 ---" & vbCrLf For i As Integer = 0 To dt.Rows.Count - 1 Label1.Text &= dt.Rows(i)("COLUMN_NAME").ToString Label1.Text &= vbCrLf Next i Else Label1.Text = "テーブルまたは列がありません" End If Catch ex As Exception MessageBox.Show(ex.ToString, "【例外発生】") End Try End Sub End Class
| ◆ DBアクセス TOP頁へ ◆ |
|---|
| ◆ SQL Server ◆ |
| Sql ExecuteScalar |
| Sql ExecuteReader |
| Sql ComboBox |
| Sql ListBox |
| Sql DataGridView |
| ◆ MDB ◆ |
| Ole ExecuteScalar |
| Ole ExecuteReader |
| Ole ComboBox |
| Ole ListBox |
| Ole DataGridView |
| ◆ 受注エントリー TOP頁 ◆ |
|---|
| テーブル定義 |
| データ接続の追加 |
| システム日付取得 |
| DataGridView列スタイル |
| フォームロード・初期化 |
| DBアクセス基本クラス |
| 商品クラス |
| 得意先クラス |
| 受注ディテールクラス |
| 受注ヘッダークラス |
| 受注伝票データクラス |
| 受注伝票アクセスクラス |
| 行確認・追加ボタン |
| 得意先確認・変更ボタン |
| 明細行変更・完了ボタン |
| 明細行削除ボタン |
| 受注登録ボタン |
| クリアボタン |