バックナンバー:VB.NETデータベースプログラミング
ADO.NETの基本的なプログラミングを中心に、すぐ使えるサンプルプログラム満載です。
【第3号】
第3号(2004.4.11発行)
====================================================================
★★ VB.NETデータベースプログラミング奮闘記 ★★
--------------------------------------------------------------------
ADO.NETの基本的なプログラミングを中心に掲載します。
末永くご購読の程よろしくお願い申し上げます。
すぐ使えるADO.NETの研究 --> サンプルプログラム満載
http://park5.wakwak.com/‾weblab/
====================================================================
-----【目次】-----
1. VB.NETワンポイント:MessageBox.Show
2. テーブル設計:将来変更されるかもしれない項目を扱う場合(上)
3. VB.NETワンポイントオブジェクト指向:Newキーワード
4. 次号予告
--------------------------------------------------------------------
■■ VB.NETワンポイント:MessageBox.Show ■■
VB.NETでは、メッセージボックスを表示するときに,MsgBox関数のほかに、
.NET Frameworkクラスライブラリを利用して、MessageBox.Showメソッドも
使うことができます。MsgBox関数は内部で、MessageBox.Showメソッドを呼
び出しています。
マイクロソフトは、MessageBox.Showを使うことを推奨しています。
このメールマガジンも、MessageBox.Showに統一していきます。
MessageBox.Showメソッドと、MsgBox関数のコーディング例を載せておきま
すので、参考にして下さい。
--【コーディング例】--------------------------------------
'---------- ●MessageBox.Showメソッド● ----------
'メッセージボックスに表示するテキスト
Dim message As String = "Hello World"
'タイトルバーに表示するテキスト
Dim caption As String = "MessageBox.Showメソッド"
'表示するボタン([OK]ボタンと[キャンセル]ボタン)
Dim buttons As MessageBoxButtons = MessageBoxButtons.OKCancel
'表示するアイコン(円で囲まれた小文字の'i')
Dim icon As MessageBoxIcon = MessageBoxIcon.Information
'フォーカスを設定するボタン(2番目のボタン)
Dim defaultBtn As MessageBoxDefaultButton = _
MessageBoxDefaultButton.Button2
'タイトルバーに表示なし
'[OK]ボタン表示
'[OK]ボタンにフォーカス
MessageBox.Show(message)
'タイトルバーにテキスト表示
'[OK]ボタン表示
'[OK]ボタンにフォーカス
MessageBox.Show(message, caption)
'タイトルバーにテキスト表示
'[OK]ボタンと[キャンセル]ボタン表示
'[OK]ボタンにフォーカス
MessageBox.Show(message, caption, buttons)
'タイトルバーにテキスト表示
'[OK]ボタンと[キャンセル]ボタン表示
'アイコン表示
'[OK]ボタンにフォーカス
MessageBox.Show(message, caption, buttons, icon)
'タイトルバーにテキスト表示
'[OK]ボタンと[キャンセル]ボタン表示
'アイコン表示
'[キャンセル]ボタンにフォーカスを設定
MessageBox.Show(message, caption, buttons, icon, defaultBtn)
'---------- ●MsgBox関数● ----------
'メッセージボックスに表示するテキスト
Dim message2 As String = "こんにちは"
'タイトルバーに表示するテキスト
Dim caption2 As String = "MsgBox関数"
'メッセージボックスのスタイル
'[OK]ボタンと[キャンセル]ボタン
'アイコン表示
'[キャンセル]ボタンにフォーカスを設定
Dim style As MsgBoxStyle = MsgBoxStyle.OKCancel Or _
MsgBoxStyle.Information Or MsgBoxStyle.DefaultButton2
'関数のリターン値:ユーザーが選択したボタン
Dim retMsgBoxResult As MsgBoxResult
retMsgBoxResult = MsgBox(message2, style, caption2)
--------------------------------------------------------------------
■■ テーブル設計:将来変更されるかもしれない項目を扱う場合(上) ■■
商品単価、消費税率、預金利率のように将来変更されるかもしれない項目を
扱う場合には、プログラムの修正がないように、通常これらの値はテーブル
に持つようにします。
たとえば、次のような「消費税率テーブル」について考えてみます。
【消費税率テ−ブル】
key フィールド名 データ型 値要求
-----------------------------------------
● 消費税率ID オートナンバー型 −
− 消費税率 通貨型 はい
− 適用開始日 日付/時刻型 いいえ
− 適用終了日 日付/時刻型 いいえ
適用開始日及び適用終了日は、レコードを抽出するために必要です。
このテーブルには、現在既に次のレコードが登録されているとします。
消費税導入前のレコードの適用開始日にはNULL値を、
また最新レコードの適用終了日にもNULL値を設定しておきます。
消費税率ID 消費税率 適用開始日 適用終了日
1 0.00 NULL値 1989/3/31
2 0.03 1989/4/1 1997/3/31
3 0.05 1997/4/1 NULL値
ここに、2004年5月1日から消費税率が7%に変更なると仮定して、4月上旬に
1レコードを追加登録すると、
消費税率ID 消費税率 適用開始日 適用終了日
1 0.00 NULL値 1989/3/31
2 0.03 1989/4/1 1997/3/31
3 0.05 1997/4/1 2004/4/30
4 0.07 2004/5/1 NULL値
となります。3番目のレコードのNULL値は、2004/4/30で更新しておきます。
ここで5月初旬に4月分の請求書を発行することを考えてみます。消費税率は
5%ですから、3番目のレコードを抽出して、請求金額を計算する必要があり
ます。
3番目のレコードは、SELECT文のWHERE句で、適用開始日と適用終了日の範囲
指定の条件式を記述すれば、抽出することができます。SQL文は次のように
なります。
SELECT * FROM 消費税率テーブル
WHERE (適用開始日 IS NULL AND @torihikiBi <= 適用終了日)
OR (適用開始日 <= @torihikiBi AND @torihikiBi <= 適用終了日)
OR (適用開始日 <= @torihikiBi AND 適用終了日 IS NULL)
適用開始日と適用終了日のNULL値の項目に値を設定すれば、SQL文は次のよ
うに簡単になります。
SELECT * FROM 消費税率テーブル
WHERE 適用開始日 <= @torihikiBi AND @torihikiBi <= 適用終了日
@torihikiBiには、コマンドパラメータで、取引日(売上日)をセットします。
詳細は、次号のサンプルプログラムの中で説明します。
--------------------------------------------------------------------
■■ VB.NETワンポイントオブジェクト指向:Newキーワード ■■
オブジェクトの生成時には、 Newキーワードを使って、インスタンスを生成
します。
1. 宣言と同時に、Newキーワードを使って、インスタンスを生成する
Dim oConn As New OleDbConnection() または、
Dim oConn As OleDbConnection = New OleDbConnection()
1番目の宣言方法は2番目の宣言方法の省略形です。
2. 宣言だけした後に、Newキーワードを使って、インスタンスを生成する
Dim oConn As OleDbConnection
oConn = New OleDbConnection()
Dim oConn As OleDbConnection と宣言しただけで、oConnを使用すると、
インスタンスが生成されていないので、実行時にエラーになります。注
意してください。
--------------------------------------------------------------------
■■ 次号予告 ■■
第4号(3号発行日から10日以内を予定) 月3回位発行予定
1. VB.NETワンポイント
2. テーブル設計:将来変更されるかもしれない項目を扱う場合(下)
−−サンプルプログラム−−
3. VB.NETワンポイントオブジェクト指向
====================================================================
VB.NET データベースプログラミング奮闘記 第3号(2004.4.11)
http://park5.wakwak.com/‾weblab/
--------------------------------------------------------------------
このメールマガジン(マガジンID: 0000128094)は、
インターネットの本屋さん『まぐまぐ』から配信されています。
http://www.mag2.com/
【購読中止の方法】購読の中止は次のホームページからお願い致します。
http://park5.wakwak.com/‾weblab/
http://www.mag2.com/m/0000128094.htm
--------------------------------------------------------------------
このメールマガジン及び、すぐ使えるADO.NETの研究ホームページで公開し
ているソースプログラム・データの利用により生じた損害等については、発
行者は一切責任を負いません。
ソースプログラムの再利用は自由ですが、著作権は発行者が所有します。
このメールマガジン及び、すぐ使えるADO.NETの研究ホームページに掲載さ
れている会社名・製品名等は、各社の登録商標または商標です。
====================================================================
↑このページ(メルマガ:VB.NETデータベース) 先頭へ | すぐ使えるADO.NET ホームへ
Copyright© すぐ使えるADO.NET. All rights reserved.