バックナンバー: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.