Visual Basic 2008 Express Edition

Visual Studioは、 Visual Basic、C#、C++の各言語の統合開発環境の製品群です。 各言語向け製品の「Express Edition」は無償で利用でき、また商用目的(商品の開発)にも使えます。 有償版との違いは純粋に機能の違いです。 例えばExpress Editionには、データベース接続設定をGUIで記述するツールが付属していません。 しかし、だからといってデータベース接続を行うアプリケーションが一切開発できないわけではなく、 プログラム・コードの中で同様の設定を行うコードを書けば、 そのようなアプリケーションも開発できます。
ここではVisual Studio 2008の製品のひとつ、 Visual Basic 2008 Express Edition(SP1)のインストール手順を記録しました。

そのまえに必要な環境ですが、 Visual Studio 2008 Express Editionのホームページ のかなり下のほうの「インストール時の注意」の枠の中にある「リリースノート」 の1.3 ハードウェア要件によると、以下のようになっています。

最小 : 1.6 GHz の CPU、192 MB の RAM、解像度 1024x768 のディスプレイ、5400 RPM のハード ディスク 
推奨 : 2.2 GHz 以上の CPU、384 MB 以上の RAM、1280 x 1024 を表示できるディスプレイ、7,200 RPM 以上のハード ディスク
Windows Vista/Windows Server 2008 上で実行する場合 : 最小 2.4 GHz (P4クラス) の CPU、768 MB の RAM 
完全インストールの場合は 1.3 GB のハード ディスク空き容量が必要 

  1. Visual Studio 2008 Express Editionのホームページに行きます。 画面下にVB,C#,C++,Web Developer(ASP.NET)の各製品のアイコンがあります。 そのうち 「Visual Basic 2008 Express Edition」の 「Webダウンロード」を押すと、オンラインインストールが始まります。 インストールは、 その下の「はじめての方のためのインストール方法」 に書いてある内容に従っていけば、一本道で進みます。 その文書の後半はプロジェクトを作り、 タイマーで時刻を表示するアプリケーションをデバッグ実行するところまでの手順を紹介しているので、 この通りに実行すれば動作確認も行えます。
  2. そのままでは30日しか使えません。 継続使用には無料ユーザ登録が必要です。 それにはVBを起動し「ヘルプ」⇒「製品の登録」で製品キーを発行します。 Webブラウザが起動し、Windows Live IDのログイン画面になります。
    (Windows Live IDを持っていない場合は、ここで「今すぐ登録」 を選んでIDをまず発行します。必要情報を入力すると、 入力したメールアドレスに確認用メールが送られます。 そのメールに記載のURLにWebブラウザでアクセスすると確認され、 IDが正式に使えるようになります)
    ログインすると、引き続きVBの製品キー発行画面になります。 ここでもまた確認用メールが送られるので、 そのメールに記載のURLにWebブラウザでアクセスすると、製品キーが表示されています。
    再度VBを起動し「ヘルプ」⇒「製品の登録」でこのキーを入力すると登録完了です。


データベースアプリケーションの基礎

Visual Basicでデータベースアプリケーションを作る方法はいろいろありますが、 VBのフォームデザイナ以外のGUI機能を一切使わず、 コーディングだけで行う方法をいくつか勉強しました。

最初は、本当にまったくコードだけで、SELECT文を発行してテキストボックスに値を格納するサンプルです。

Dim sql As String = "SELECT AREA_CODE, AREA_NAME FROM AREA"
Dim cs As String = "Data Source=(local);Initial Catalog=ssdb;User ID=testuser;Password=testpass;"
'"Data Source=(local);Initial Catalog=ssdb;Integrated Security=SSPI;"

Dim conn As New SqlClient.SqlConnection()
Dim cmd As New SqlClient.SqlCommand()
Dim dr As SqlClient.SqlDataReader

conn.ConnectionString = cs
conn.Open()
cmd.Connection = conn
cmd.CommandText = Sql
dr = cmd.ExecuteReader

' テキストボックスに取得した文字列を設定する
TextBox1.Text = ""
Do While (dr.Read())
    TextBox1.Text &= dr.Item("AREA_CODE") & dr.Item("AREA_NAME")
Loop
conn.Close()

cs(ConnectionString)は、SQL Server 2008にSQL Server認証で接続する際のサンプルです。 Windows認証の場合はその下のコメントにあるような文字列にします。

これだけでは全然アプリケーションらしくないので、次にDataGridViewにデータを取り込み、 更新もできるようにするサンプルです。

Private adaptor As SqlClient.SqlDataAdapter
--- 検索処理 ---
adaptor = New SqlClient.SqlDataAdapter(sql, cs)
' ↓この格納した変数は以後使われないが、これによってadaptor内部に
' UpdateCommandなどが格納されるので、実行する必要がある。
Dim cb As New SqlClient.SqlCommandBuilder(adaptor)

Dim table As New DataTable()
adaptor.Fill(table)
BindingSource1.DataSource = table
Me.DataGridView1.AutoResizeColumns( _
        DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader)

--- 更新処理

adaptor.Update(BindingSource1.DataSource)

フォームデザイナでは、DataGridViewのほかにBindingSourceを1つ作っておきます (上の変数BindingSource1)。 またDataGridViewにはDB上の各列に当たる列を追加しておきますが、 その各列の「データ」のpropertyNameに、DB上の列名を正確に入力する必要があります。
また、SELECT文で検索される列の中に主キーがない等の場合、 UPDATE文やDELETE文が自動生成できませんから、上のコードだけでは駄目で、 追加の情報を渡す必要があります。その方法は、追って調べます。

Misc. Topics Top

(first uploaded 2010/01/04 last updated 2010/01/09, URANO398)

楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル