CodeZine(コードジン)

特集ページ一覧

タブページでクエリ結果を表示する.NETアプリケーションを作る

PlusPak for Windows Forms 6.0JのGcTabControlコントロールを使ったアプリケーションの作成~その2

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/02/01 14:00
目次

データベースの操作~その1

 データベースへの接続、クエリの実行、結果セットの表示はすべてコードから作成しますが、データベースファイルはプロジェクトに組み込んでおきます。使用するデータベースは、「ギター販売集計.mdb」というMicrosoft Accessで作成したデータベースで、「製品リスト」という簡単なテーブルを操作対象にします。

使用するデータベースのテーブル
使用するデータベースのテーブル

 このデータベースを、データベース構成ウィザードでプロジェクトに組み込んでおきます(コピーを出力しておくようにします)。

プロジェクトに組み込む
プロジェクトに組み込む

データ接続とクエリの実行処理

 データベースファイルをプロジェクトへ組み込んだら、OLEDBプロバイダを用いてデータベースに接続しクエリを実行します。この作業は、次の順序で行います。

  1. OleDbConnectionクラスのインスタンスを作成し、データベースに接続します。
  2. OleDbDataAdapterクラスとDataSetクラスのインスタンスを作成し、クエリ用文字列を用いて、OleDbDataAdapterクラスのFillメソッドでクエリを実行。そして、実行結果のデータテーブルをDataSetクラスのインスタンスに格納します。

 このプログラムでは、クエリ用SQL文字列を変えることで、いろいろなパターンのクエリが実行できるように、専用のプロシージャ(C#ではメソッド)を作成します。作成するプロシージャ(メソッド)は「db_run」で、sql文字列とタブページに表示するタイトル文字列、実行するクエリの番号(任意の数字)の3つを引数に持ちます。

 データベースはAccessのデータファイルなので、OLEDBプロバイダは「Microsoft.Jet.OLEDB.4.0」を使用します。接続するデータベースファイルは、既にプロジェクトに組み込んでいるので、ファイル名だけ指定します。

Visual Basic
Imports GrapeCity.Win.Containers
Public Class Form1

    Private Sub db_run(ByVal sqlstr As String, ByVal title As String, ByVal pos As Integer)
        Dim connString As String = String.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}", "ギター販売集計.mdb")
        Dim conn As OleDb.OleDbConnection = New OleDb.OleDbConnection(connString)
        Dim adapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sqlstr, conn)
        Dim myDataSet As DataSet = New DataSet()
        adapter.Fill(myDataSet, "fill")
C#
using GrapeCity.Win.Containers;

namespace tabdb_cs
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void db_run(string sqlstr, string title, int pos)
        {
            string connString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}", "ギター販売集計.mdb");
            System.Data.OleDb.OleDbConnection conn  = new System.Data.OleDb.OleDbConnection(connString);
            System.Data.OleDb.OleDbDataAdapter adapter  = new System.Data.OleDb.OleDbDataAdapter(sqlstr, conn);
            DataSet myDataSet = new DataSet();
            adapter.Fill(myDataSet, "fill");

  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2010/01/22 16:07 校正終了-瀬戸

あなたにオススメ

著者プロフィール

  • 瀬戸 遥(セト ハルカ)

    8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

バックナンバー

連載:ComponentZine(PlusPak)

もっと読む

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5