VB実用⑤ アクセス操作Ⅲ

Size: px
Start display at page:

Download "VB実用⑤ アクセス操作Ⅲ"

Transcription

1 VB でアクセス操作 Ⅲ VB プログラムの概要 前回に引き続き 此処では コードに依るデータベースの操作方法を学ぶ コネクションオブジェクトを用いてデータベースと接続し 表形式でデータを表示するデータグリッドビューコントロールにレコードデータを自動的に表示する手法を学ぶ 既に学んだ様にコントロールを連結する事に依り コードレスでデータベース操作が可能で有るが 此処では 着目して居る行 ( カレントレコード ) の指定と 個々の列データ ( フィールドデータ ) の取得に付いて学ぶ 亦 高度なデータベース操作の下準備と仕て ADO.NET オブジェクトをコードで操作する事とデータベース操作の基礎と成る SQL に慣れ親しむ事を目的とする 今回の課題項目 ADO.NET に依るデータベース接続 ( コネクションオブジェクト ) ADO.NET に依るデータベース接続 (ConnectionString プロパティ Open メソッド ) ADO.NET に依るデータベース操作 ( データアダプタオブジェクト ) ADO.NET に依るデータベース操作 (SelectCommand CommandText プロパティ ) ADO.NET に依るデータベース操作 (InsertCommand CommandText プロパティ ) ADO.NET に依るデータベース操作 (UpdateCommand CommandText プロパティ ) ADO.NET に依るデータベース操作 (DeleteCommand CommandText プロパティ ) ADO.NET に依るデータベース操作 (Fill メソッド Update メソッド ) ADO.NET に依るデータセット操作 ( データセットオブジェクト ) ADO.NET に依るテーブルデータ操作 (Tables コレクション Clear メソッド ) ADO.NET に依るレコードデータ操作 (Rows コレクション Count プロパティ ) ADO.NET に依るフィールドデータ操作 (Item コレクション ToString メソッド ) 今回の重点項目 ADO.NET に依るデータベース接続 ( コネクションオブジェクト ) ADO.NET に依るデータベース操作 ( データアダプタオブジェクト ) ADO.NET に依るデータセット操作 ( データセットオブジェクト ) SQL 文 (SELECT 文 : レコードを検索 追加 変更 削除する文 ) -1-

2 オブジェクト プロパティ一覧 コマンドボタン 1 コマンドボタン 2 コマンドボタン 3 ラジオボタン 1 ラジオボタン 2 コマンドボタン 4 コントロールの種類 プロパティ プロパティの設定値 コマンドボタン1 Name btninsert Text 追加 コマンドボタン2 Name btnupdate Text 変更 コマンドボタン3 Name btndelete Text 削除 コマンドボタン4 Name btnupdatedb Text 更新 ラジオボタン1 Name radimmediately Text 直ちにデータベースを更新 ラジオボタン2 Name radcollectively Text 一括してデータベースを更新 上記以外のコントロールに付いては 前回 VB でアクセス操作 Ⅱ と同じで有る 既存のフォームを再利用するには 下記の方法が有る 1. プロジェクトを保存したトップフォルダ毎コピーする方法此の場合 フォルダ名を変更する ( トップフォルダの名前を変更しても問題は発生しない ) 2 フォーム上の総てのコントロールを選択して新しいフォームにコピーする方法此の場合 フォームのプロパティは 設定し直す必要が有る 3. 既存のフォームを新しいプロジェクトに追加する方法此の場合 フォーム関係のファイルを新しいプロジェクトにコピーして置く事が望ましい 上記の孰れかを利用して 前回のフォームを今回のプロジェクトに使用すると 開発効率を向上させる事が出来る -2-

3 プログラムリスト ' 名前空間のインポート Imports System.Data Imports System.Data.OleDb Public Class access ' 同一クラス内でグローバルな変数の宣言 Private Cn As OleDbConnection Private Ds As DataSet 記述を簡略化する為に 名前空間をインポートして居る 此れに依り 名前空間以下のクラスは 名前空間を省略して記述出来る Private DaB Private DaC Private DaW Private DaT Private Tn As OleDbDataAdapter As OleDbDataAdapter As OleDbDataAdapter As OleDbDataAdapter As String = "BOOK" 此処で宣言した変数は 同じクラス内の総てのプロシージャ ( メソッド ) で値の参照と設定を行う事が出来る ' フォームが読み込まれた時の処理 Private Sub access_load( ByVal sender As System.Object, ByVal e As System.EventArgs ) _ Handles MyBase.Load 此処で宣言した変数は宣言したサ Dim SQL As String = "" ブプロシージャ内でしか値の参照と設定を行う事が出来ない ' データベースへの接続情報の設定 Cn = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb" ) ' 本テーブル用のデータアダプタの生成とクエリの設定データアダプタのコマンドを生成 DaB = New OleDbDataAdapter( ) する自作関数を呼び出して居る SQL = "SELECT * FROM 本 " DaB.SelectCommand = CreateDataAdapterCommand( SQL, "S" ) SQL = "INSERT INTO 本 ( タイトル, 価格, 購入日, カテゴリ ID, 著者 ID) VALUES(?,?,?,?,?)" DaB.InsertCommand = CreateDataAdapterCommand( SQL, "I" ) SQL = "UPDATE 本 SET タイトル =?, 価格 =?, 購入日 =?, カテゴリ ID=?, 著者 ID=? WHERE ID=?" DaB.UpdateCommand = CreateDataAdapterCommand( SQL, "U" ) SQL = "DELETE FROM 本 WHERE ID=?" DaB.DeleteCommand = CreateDataAdapterCommand(SQL, "D") ' 本テーブル以外のデータアダプタの生成と選択クエリの設定 DaC = New OleDbDataAdapter( "SELECT * FROM カテゴリ ORDER BY ID", Cn ) DaW = New OleDbDataAdapter( "SELECT * FROM 著者 ORDER BY ID", Cn ) DaT = New OleDbDataAdapter( "SELECT * FROM カテゴリ WHERE ID=0", Cn ) ' データセットの生成 Ds = New DataSet ' SQL の発行と取得したデータのデータセットへの格納 DaB.Fill( Ds, "BOOK" ) DaC.Fill( Ds, "CATEGORY" ) DaW.Fill( Ds, "WRITER" ) DaT.Fill( Ds, "TEMP" ) ' データセット内のデータソースをデータグリッドビューに連結 dgvbook.datasource = Ds dgvbook.datamember = "BOOK" ' コンボボックス ( カテゴリ 著者 ) の設定 Call CboAddItem() 各テーブルから総てのフィールドのデータを抽出する SQL 文を作成する ORDER BY 節は抽出データの並び順を WHERE 節は 抽出条件を設定する イベントプロシージャに其処で処理される総てのコードを記述するのでは無く 処理ブロック毎にサブルーチン化する事は 開発効率や保守性を高める効果が有る -3-

4 ' フォームが閉じられ様と仕た時の処理 Private Sub access_formclosing( ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs ) Handles MyBase.FormClosing ' 各インスタンスの破棄 Ds.Dispose( ) : DaB.Dispose( ) : DaC.Dispose( ) : DaW.Dispose( ) : DaT.Dispose( ) Cn.Close( ) : Cn.Dispose( ) End ' データグリッドビューの行ヘッダがクリックされた時の処理 Private Sub dgvbook_rowheadermouseclick( ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs ) _ Handles dgvbook.rowheadermouseclick Dim S As String = "" ' 着目行の各フィールド値をテキストボックスに表示フィールドデータが ヌルやオブ Dim N As Integer = dgvbook.currentrow.index ジェクトの場合が有る為 VB で取り扱う事の出来る文字列に変更 If N < Ds.Tables( "BOOK" ).Rows.Count Then する為に ToString を使用する ' データセットから取得 txtid.text = Ds.Tables( "BOOK" ).Rows( N ).Item( "ID" ).ToString txttitle.text = Ds.Tables( "BOOK" ).Rows( N ).Item( " タイトル " ).ToString txtprice.text = Ds.Tables( "BOOK" ).Rows( N ).Item( " 価格 " ).ToString dtpdate.value = Ds.Tables( "BOOK" ).Rows( N ).Item( " 購入日 " ).ToString txtcate.text = Ds.Tables( "BOOK" ).Rows( N ).Item( " カテゴリ ID" ).ToString txtwriter.text = Ds.Tables( "BOOK" ).Rows( N ).Item( " 著者 ID" ).ToString ' コンボボックス ( カテゴリ ) の設定 Ds.Tables( "TEMP" ).Clear( ) S = Ds.Tables( "BOOK" ).Rows( N ).Item( " カテゴリ ID" ).ToString DaT.SelectCommand.CommandText = "SELECT カテゴリ名 FROM カテゴリ WHERE ID=" & S DaT.Fill( Ds, "TEMP" ) S = Ds.Tables( "TEMP" ).Rows( 0 ).Item( " カテゴリ名 " ).ToString For I As Integer = 0 To ( cbocate.items.count - 1 ) If cbocate.items.item( I ) = S Then cbocate.selectedindex = I Exit For Next ' コンボボックス ( 著者 ) の設定 Ds.Tables( "TEMP" ).Clear( ) S = Ds.Tables( "BOOK" ).Rows( N ).Item( " 著者 ID" ).ToString DaT.SelectCommand.CommandText = "SELECT 著者名 FROM 著者 WHERE ID=" & S DaT.Fill( Ds, "TEMP" ) S = Ds.Tables( "TEMP" ).Rows( 0 ).Item( " 著者名 " ).ToString For I As Integer = 0 To ( cbowriter.items.count - 1 ) If cbowriter.items.item( I ) = S Then cbowriter.selectedindex = I Exit For Next Else txtid.text = "": txttitle.text = "" txtprice.text = "": dtpdate.text = "" txtcate.text = "": txtwriter.text = "" -4- Close メソッドは 関連するシステムリソースを開放する丈で メモリから削除するには Dispose する必要が有る 此処で宣言した変数は宣言したサブプロシージャ内でしか値の参照と設定を行う事が出来ない For 文等のブロック内で宣言した変数は 宣言したブロック内でしか値の参照と設定を行う事が出来ない ( 変数 I が相当 ) 記号アンパサント (&) は 文字列を結合する演算子で有る コンボボックスの項目をコードで選択するには SelectedIndex に選択する項目のインデックスを設定する テキストボックス内に記述されたテキストを消去するには ヌルストリング ( 二重引用符の中に何も記述しない文字列 ) を設定する

5 ' コンボボックス ( カテゴリ ) の選択項目が変化した時の処理 Private Sub cbocate_selectedindexchanged( ByVal sender As System.Object, _ ByVal e As System.EventArgs ) _ Handles cbocate.selectedindexchanged For Each D As DataRow In Ds.Tables( "CATEGORY" ).Rows If D.Item(" カテゴリ名 ").ToString = cbocate.items.item( cbocate.selectedindex ) Then txtcate.text = D.Item( "ID" ).ToString Exit For Next ' コンボボックス ( 著者 ) の選択項目が変化した時の処理 Private Sub cbowriter_selectedindexchanged( ByVal sender As System.Object, _ ByVal e As System.EventArgs ) _ Handles cbowriter.selectedindexchanged For Each D As DataRow In Ds.Tables( "WRITER" ).Rows If D.Item(" 著者名 ").ToString = cbowriter.items.item( cbowriter.selectedindex ) Then txtwriter.text = D.Item( "ID" ).ToString Exit For Next ' ラジオボタン ( 両方 ) がクリックされた時の処理 Private Sub RadioButtonClick(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles radimmediately.click, radcollectively.click ハンドルを追加して居る Dim R As RadioButton = DirectCast( sender, RadioButton ) For Each ~ Next は コレクションから総ての要素を 1 個宛取り出すループ構文で有る 此処では データセット内の CATEGORY テーブルから各レコード ( 行 ) を取り出して居る For Each ~ Next は コレクションから総ての要素を 1 個宛取り出すループ構文で有る 此処では データセット内の WRITER テーブルから各レコード ( 行 ) を取り出して居る If R.Name = "radimmediately" Then btnupdatedb.enabled = False Else btnupdatedb.enabled = True 複数のコントロールで同じイベントプロシージャを共有する時 イベント発生源のコントロールを特定するには sender 引数を使用する ' ボタン ( 追加 ) がクリックされた時の処理 Private Sub btninsert_click(byval sender As System.Object, ByVal e As System.EventArgs) _ Handles btninsert.click Dim D As DataRow = Ds.Tables( "BOOK" ).NewRow 新規にレコード ( 行 ) を生成して DataRow 型の変数に割り当てる D.Item( " タイトル " ) = txttitle.text D.Item( " 価格 " ) = txtprice.text D.Item( " 購入日 " ) = dtpdate.value D.Item( " カテゴリ ID" ) = txtcate.text D.Item( " 著者 ID" ) = txtwriter.text Ds.Tables( "BOOK" ).Rows.Add( D ) Call UpdateDatabase( ) DataRow の各フィールド ( 列 ) 名は 特に変更しない限り 元と成るデータベースのフィールド名と同じで有る 新規に作成した DataRow を データセット内の所定のテーブルの Rows コレクションに追加する -5-

6 ' ボタン ( 変更 ) がクリックされた時の処理 Private Sub btnupdate_click( ByVal sender As System.Object, _ ByVal e As System.EventArgs ) _ Handles btnupdate.click Dim N As Integer = GetRowIndex( txtid.text ) ID より Rows コレクション内での位置 ( インデックス ) を取得する自作関数を呼び出し 其の戻り値を変数に代入する If Not N < 0 Then Dim D As DataRow = Ds.Tables( "BOOK" ).Rows( N ) D.BeginEdit( ) D.Item( " タイトル " ) = txttitle.text D.Item( " 価格 " ) = txtprice.text D.Item( " 購入日 " ) = dtpdate.value D.Item( " カテゴリ ID" ) = txtcate.text D.Item( " 著者 ID" ) = txtwriter.text D.EndEdit( ) Call UpdateDatabase( ) Else MsgBox( " 更新出来ません!", MsgBoxStyle.Critical, " 警告 " ) ID の一致するレコード ( 行 ) を取得して DataRow 型の変数に割り当てる 既存のレコードを編集する前には BeginEdit メソッドを呼び出す 既存のレコードを編集した後には EndEdit メソッドを呼び出す ID と一致するレコード ( 行 ) が無い場合の処理 ' ボタン ( 削除 ) がクリックされた時の処理 Private Sub btndelete_click( ByVal sender As System.Object, _ ByVal e As System.EventArgs ) _ Handles btndelete.click IDより Rows コレクション内での位置 ( インデックス ) を取得する自作関数を呼び出し 其の戻り値 Dim N As Integer = GetRowIndex( txtid.text ) を変数に代入する If Not N < 0 Then Dim D As DataRow = Ds.Tables( "BOOK" ).Rows( N ) D.Delete( ) Call UpdateDatabase( ) Else MsgBox( " 削除出来ません!", MsgBoxStyle.Critical, " 警告 " ) ID の一致するレコード ( 行 ) を取得して DataRow 型の変数に割り当てる レコード ( 行 ) を削除するには Delete メソッドを呼び出す ID と一致するレコード ( 行 ) が無い場合の処理 ' ボタン ( 更新 ) がクリックされた時の処理 Private Sub btnupdatedb_click( ByVal sender As System.Object, _ ByVal e As System.EventArgs ) _ Handles btnupdatedb.click DaB.Update( Ds, "BOOK" ) データセット内の変更をデータベースに反映させる ( 書き戻す ) には データアダプタの Update メソッドを呼び出す ' DataRow 内で ID の一致する行のインデックスを取得するジェネラルプロシージャ Private Function GetRowIndex( ByVal S As String ) As Integer For I As Integer = 0 To ( Ds.Tables( "BOOK" ).Rows.Count - 1 ) If Ds.Tables( "BOOK" ).Rows( I ).Item( "ID" ).ToString = S Then Return I Next Return -1 End Function -6- Return は 呼出元へ制御を戻すステートメントで有る 猶 引数で指定した値は 戻り値と成る

7 ' データベースを更新するジェネラルプロシージャ Private Sub UpdateDatabase( ) If radimmediately.checked Then ' Cn.Open( ) DaB.Update( Ds, "BOOK" ) Ds.Tables( "BOOK" ).Clear( ) DaB.Fill( Ds, "BOOK" ) ' Cn.Close( ) ラジオボタンの状況に依りデータベースを更新するジェネラルプロシージャで 同じコードを複数の場所に記述する無駄を無くす丈でなく 保守性に優れる データベースを更新した後 データベースより再読込して居る 此れは レコードの追加時に オートナンバー型の ID を データベースより取得する為で有る ' コンボボックスにアイテムを追加するジェネラルプロシージャ Count は 個数を表すプロパティ Private Sub CboAddItem( ) で有り 1 スタートで有る ' カテゴリの設定 cbocate.items.clear( ) For I As Integer = 0 To ( Ds.Tables( "CATEGORY" ).Rows.Count - 1 ) cbocate.items.add( Ds.Tables( "CATEGORY" ).Rows( I ).Item( " カテゴリ名 " ).ToString ) Next ' 著者の設定 cbowriter.items.clear( ) For I As Integer = 0 To ( Ds.Tables( "WRITER" ).Rows.Count - 1 ) cbowriter.items.add( Ds.Tables( "WRITER" ).Rows( I ).Item( " 著者名 " ).ToString ) Next ' データアダプタのコマンドを設定するジェネラルプロシージャ Private Function CreateDataAdapterCommand(ByVal SQL As String, ByVal S As String ) _ As OleDbCommand Dim Cm As New OleDbCommand( SQL, Cn ) Dim Pc As OleDbParameterCollection = Cm.Parameters Rows の引数は インデックスを表すプロパティで有り 0 スタートで有る ' パラメータの設定 ' パラメータは SQL の? の順番に合わせる必要が有る If S = "I" Or S = "U" Then Pc.Add( " タイトル ", OleDbType.VarWChar, 50, " タイトル " ) Pc.Add( " 価格 ", OleDbType.Integer, 4, " 価格 " ) Pc.Add( " 購入日 ", OleDbType.DBTimeStamp, 8, " 購入日 " ) Pc.Add( " カテゴリ ID", OleDbType.Integer, 4, " カテゴリ ID" ) Pc.Add( " 著者 ID", OleDbType.Integer, 4, " 著者 ID" ) If S = "U" Or S = "D" Then Pc.Add( "ID", OleDbType.Integer, 4, "ID" ) Return Cm End Function End Class パラメータは SQL 文の中に記述された? の順番通りに追加して行かなければ成らない SQL 文に記述されたフィールド名に依り自動的に判別される訳ではない! 此の関数 ( ファンクションプロシージャ ) では OleDbCommand オブジェクトを戻り値と仕て返す 此の様に スカラー値丈でなく オブジェクトを戻り値とする事も出来る -7-

8 OleDbDataAdapter クラス ( 再掲 ) データソースとデータセットの間を仲介するクラス データセットへのデータの格納とデータソースの更新に使用される一連のデータコマンドとデータベース接続を表す DataAdapter は DataSet とデータソースとの間でデータの取得と保存を行う為の 仲介の役割を果たす DataAdapter は 其の為に DataSet 内のデータをデータソース内のデータと一致する様に変更する Fill メソッドと データソース内のデータを DataSet 内のデータと一致する様に変更する Update メソッドが用意されて居る OLE DB をサポートするデータソース (Access 等 ) に接続する場合は 関連付けられた OleDbCommand オブジェクトや OleDbConnection オブジェクトと共に OleDbDataAdapter を使用する事に依り 全体的なパフォーマンスを向上させる事が出来る データベースの種類 OLE DB データソース SQL Server データベース ODBC データソース Oracle データベース 最適化されたクラス OleDbCommand OleDbConnection OleDbDataAdapter SqlCommand SqlConnection SqlDataAdapter OdbcCommand OdbcConnection OdbcDataAdapter OracleCommand OracleConnection OracleDataAdapter DataAdapter のインスタンスを作成すると 読み書き可能プロパティが初期値に設定される 此等の初期値の一覧に付いては DataAdapter コンストラクタの記述を参照され度い OleDbDataAdapter クラスのコンストラクタ OleDbDataAdapter オブジェクトを生成するメソッド Dim 変数 As New OleDbDataAdapter( ) OleDbDataAdapter クラスの新しいインスタンスを初期化する (4 種のオーバーロードが有る ) 引数を指定しないコンストラクタでは 選択クエリ (SelectCommand プロパティ ) やアクションクエリ (Insert Command プロパティ Delete Command プロパティ Update Command プロパティ ) は設定されない 亦 接続も確立されない 此のコンストラクタは データアダプタを手動で設定する時に使用する データソースからデータを取得する場合は SelectCommand オブジェクトを 亦 データソースを更新する場合は InsertCommand オブジェクト DeleteCommand オブジェクト Updateommand オブジェクトの各オブジェクトも設定する必要が有る 此等は OleDbCommand オブジェクトを使用して設定する事が出来る 猶 OleDbDataAdapter のインスタンスを作成すると 下記の様に読み取り / 書き込みプロパティが初期値に設定される プロパティ MissingMappingAction MissingSchemaAction 初期値 MissingMappingAction.Passthrough MissingSchemaAction.Add -8-

9 OleDbDataAdapter クラスの Update メソッド DataSet からデータをデータソースに書き戻すメソッド Object.Update( データセット名, テーブル名 ) DataSet 名と DataTable 名を使用して DataSet 内で挿入 更新 削除の孰れかの操作が行われた行に対して INSERT UPDATE DELETE ステートメントを個別に呼び出す (7 種のオーバーロードが有る ) 引数のデータセット名には データソースの更新に使用する DataSet を指定する 亦 引数のテーブル名には テーブルマップに使用するソーステーブルの名前を指定する 亦 戻り値には DataSet で正常に追加や更新された行数が返される 此れには 行を返さないステートメントの影響を受ける行は含まれない コマンドが行を返さない場合は DataSet にテーブルは追加されない ( 此の場合 例外は発生しない ) アプリケーションが Update メソッドを呼び出すと DbDataAdapter は RowState プロパティを調べ DataSet に設定されて居るインデックスの順序に基づいて 要求された INSERT UPDATE DELETE ステートメントを各行に対して反復的に実行する 例えば Update が呼び出された時に DataTable 内の行の順序に応じて DELETE ステートメントを実行し INSERT ステートメントを実行してから 別の DELETE ステートメントを実行する事等が有る 此等のステートメントは バッチ処理と仕て実行されるのではない点に注意を要する 各行は 個別に更新される UPDATE の前に INSERT を実行する等 ステートメントの種類のシーケンスを制御する必要が有る場合は アプリケーションから GetChanges メソッドを呼び出す事が出来る INSERT UPDATE DELETE ステートメントが指定されて居ない場合 Update メソッドでは 例外が発生する 但し.NET Framework データプロバイダの SelectCommand プロパティを設定した場合は 単一テーブルを更新する SQL ステートメントを自動的に生成する SqlCommandBuilder や OleDbCommandBuilder オブジェクトを作成する事が出来る 此れに依り 追加の SQL ステートメントが CommandBuilder に依って自動的に生成される 此の生成ロジックでは DataSet 内にキー列情報が存在して居る必要が有る Update メソッドは 大文字と小文字の違いを除いて名前が一致する DataTable オブジェクトが DataSet 内に複数含まれる場合に 其等を区別する 此の様なテーブルが DataSet 内に複数存在する場合 Update は 大文字と小文字を区別して比較を実行し 対応するテーブルを見付ける 正確に一致するテーブルが存在しない場合は 例外が発生する 此の動作を表すコード例を 下記に示す Dim Ds As DataSet = new DataSet( ) Ds.Tables.Add("aaa") Ds.Tables.Add("AAA") Adapter.Update( Ds, "aaa" ) ' 既に DataSet 内に存在する "aaa" を更新する Adapter.Update( Ds, "Aaa" ) ' 例外が発生する 猶 Update を呼び出した時に 大文字と小文字の違いを除いて名前が一致する DataTable が DataSet 内に 1 個丈しか含まれて居ない場合は 其の DataTable が更新される 此の場合は 比較の時に大文字と小文字が区別されない 此処から -9-

10 OleDbDataAdapter クラスの SelectCommand プロパティ ( 再掲 ) 選択クエリの取得と設定を行うプロパティ Object.SelectCommand = OleDbCommand データソース内のレコードを選択する為の SQL ステートメント 又は ストアドプロシージャの取得と設定を行う 設定値の OleDbCommand には Fill 処理中に DataSet に格納するレコードをデータソースから選択する為の OleDbCommand オブジェクトを指定する 作成済みの OleDbCommand に SelectCommand が割り当てられた場合 OleDbCommand のクローンは作成されない SelectCommand に依り 作成済みの OleDbCommand オブジェクトへの参照が維持される OleDbDataAdapter クラスの InsertCommand プロパティ 挿入クエリの取得と設定を行うプロパティ Object.InsertCommand = OleDbCommand データソースに新しいレコードを挿入する為の SQL ステートメント 又は ストアドプロシージャの取得と設定を行う 設定値の OleDbCommand には Update 処理中に DataSet 内の新しい行に対応するデータソース内のレコードを挿入する為の OleDbCommand オブジェクトを指定する 作成済みの OleDbCommand に InsertCommand が割り当てられた場合 OleDbCommand のクローンは作成されない InsertCommand に依り 作成済みの OleDbCommand オブジェクトへの参照が維持される OleDbDataAdapter クラスの UpdateCommand プロパティ 更新クエリの取得と設定を行うプロパティ Object.UpdateCommand = OleDbCommand データソース内のレコードを更新する為の SQL ステートメント 又は ストアドプロシージャの取得と設定を行う 設定値の OleDbCommand には Update 処理中に DataSet 内の変更行に対応するデータソース内のレコードを更新する為の OleDbCommand オブジェクトを指定する 作成済みの OleDbCommand に UpdateCommand が割り当てられた場合 OleDbCommand のクローンは作成されない UpdateCommand に依り 作成済みの OleDbCommand オブジェクトへの参照が維持される -10-

11 OleDbDataAdapter クラスの DeleteCommand プロパティ 削除クエリの取得と設定を行うプロパティ Object.DeleteCommand = OleDbCommand データセットからレコードを削除する為の SQL ステートメント 又は ストアドプロシージャの取得と設定を行う 設定値の OleDbCommand には Update 処理中に DataSet 内の削除行に対応するデータソース内のレコードを削除する為の OleDbCommand オブジェクトを指定する 作成済みの OleDbCommand に DeleteCommand が割り当てられた場合 OleDbCommand のクローンは作成されない DeleteCommand に依り 作成済みの OleDbCommand オブジェクトへの参照が維持される 各 Command プロパティの共通事項 Update 処理中に 此等のプロパティが設定されて居らず DataSet に主キー情報が存在する場合 SelectCommand プロパティを設定し OleDbCommandBuilder を使用して居る時は InsertCommand UpdateCommand DeleteCommand が自動的に生成される 続いて 設定して居ない追加のコマンドが OleDbCommandBuilder に依り生成される 此の生成ロジックでは DataSet 内にキー列情報が存在して居る必要が有る OleDbCommand クラスの CommandText プロパティ ( 再掲 抜粋 ) クエリの取得と設定を行うプロパティ Object.CommandText = クエリ データソースで実行する SQL ステートメントやストアドプロシージャの取得と設定を行う 引数のクエリには 実行する SQL ステートメント 又は ストアドプロシージャを指定する CommandType プロパティの値に依り CommandType プロパティに設定する文字列の種類を 下記に示す CommandType プロパティ StoredProcedure TableDirect Text 設定文字列ストアドプロシージャ名テーブル名 SQL ステートメント OLE DB.NET プロバイダでは OleDbCommand が呼び出す SQL ステートメントやストアドプロシージャにパラメータを渡す為の名前付きパラメータは利用出来ない 此の場合は 疑問符プレースホルダを使用する 次に例を示す SELECT * FROM 本 WHERE ID =? 疑問符プレースホルダを使用する場合 パラメータの疑問符プレースホルダの位置と OleDbParameter オブジェクトを OleDbParameterCollection に追加する順序とを 正しく対応させる必要が有る 現在の接続で実行 又は フェッチ操作が実行中の場合は CommandText プロパティは設定出来ない -11-

12 データアダプタをコードで設定する方法 データアダプタをコードで設定する手順は 下記の通りで有る 1. 有効な接続を確立する (OleDbConnection) 2. データアダプタのインスタンスを生成する (OleDbDataAdapter) 3. 有効な接続と SQL 文を使用してコマンドのインスタンスを生成する (OleDbCommand) 4. パラメータコレクションのインスタンスを生成して コマンドオブジェクトの Parameters プロパティを設定する (OleDbParameterCollection) 5. パラメータコレクションに SQL 文の疑問符プレースフォルダの順番に従い パラメータを追加する (OleDbParameterCollection の Add メソッド ) 6. データアダプタのコマンドプロパティにコマンドオブジェクトを設定する 手動でデータアダプタの UpdateCommand プロパティを設定するコード例を 下記に示す ' クエリと接続文字列の設定 Dim SQL, CNS As String SQL = "UPDATE 本 SET タイトル =?, 価格 =?, 購入日 =?, カテゴリ ID=?, 著者 ID=? WHERE ID=?" CNS = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb" ' 各オブジェクトのインスタンス生成 Dim Cn As OleDbConnection = New OleDbConnection(CNS) Dim Da As OleDbDataAdapter = New OleDbDataAdapter( ) Dim Cm As New OleDbCommand(SQL, Cn) Dim Pc As OleDbParameterCollection = Cm.Parameters ' パラメータの設定 ( パラメータは SQL の? の順番に合わせる必要が有る ) Pc.Add(" タイトル ", OleDbType.VarWChar, 50, " タイトル ") Pc.Add(" 価格 ", OleDbType.Integer, 4, " 価格 ") Pc.Add(" 購入日 ", OleDbType.DBTimeStamp, 8, " 購入日 ") Pc.Add(" カテゴリ ID", OleDbType.Integer, 4, " カテゴリ ID") Pc.Add(" 著者 ID", OleDbType.Integer, 4, " 著者 ID") Pc.Add("ID", OleDbType.Integer, 4, "ID") ' データアダプタの UpdateCommand プロパティ設定 Da.UpdateCommand = Cm ' 1 ' 2 ' 3 ' 4 ' 5 ' 5 ' 5 ' 5 ' 5 ' 5 ' 6 疑問符プレースホルダを使用する場合 パラメータの疑問符プレースホルダの位置と OleDbParameter オブジェクト (Add メソッドの引数に パラメータの名前 データ型 列の長さ 及び ソースの列名を指定して生成 ) を OleDbParameterCollection に追加する順序とを 正しく対応させる必要が有る 即ち SQL 文に含まれる疑問符プレースフォルダに対応するフィールド要素 (OleDbParameter オブジェクト ) を 左から順に パラメータコレクション (OleDbParameterCollection オブジェクト ) に追加 (Add メソッド ) しなければ成らない 順番が正しく対応して居ないと 違うフィールドに値が設定されたり データ型が違うと謂う例外が発生したりする SQL Server 7.0 以降で使用する SqlCommand では 疑問符プレースホルダはサポートされて居らず 名前付きパラメータ ( 例 :WHERE ID を使用する為 追加する順番は問題では無い -12-

13 OleDbParameterCollection クラスの Add メソッド パラメータコレクションにパラメータを追加するメソッド Object.Add( パラメータ名, データ型, 列長, ソース列名 ) パラメータの名前 データ型 列の長さ 及び ソースの列名を指定して OleDbParameter を OleDbParameterCollection に追加する (6 種のオーバーロードが有る ) 引数のパラメータ名には パラメータの名前を String 型で指定する 引数のデータ型には 当該フィールドのデータ型を OleDbType 列挙体の値で指定する 引数の列長には 当該フィールドの列の長さを Integer 型で指定する 引数のソース列名には 当該フィールドのソース列の名前を String 型で指定する 各パラメータコレクションで指定するデータ型の一覧を 下記に示す.NET Framework System.Data.DbType SqlDbType OleDbType OdbcType OracleType bool Boolean Bit Boolean Bit Byte byte Byte TinyInt UnsignedTinyInt TinyInt Byte byte[] Binary VarBinary. 2 VarBinary Binary Raw char 1 Char Char Byte DateTime DateTime DateTime DBTimeStamp DateTime DateTime Decimal Decimal Decimal Decimal Numeric Number double Double Float Double Double Double float Single Real Single Real Float Guid Guid UniqueIdentifier Guid UniqueIdentifier Raw Int16 Int16 SmallInt SmallInt SmallInt Int16 Int32 Int32 Int Int Int Int32 Int64 Int64 BitInt BigInt BigInt Number object Object Variant Variant 1 Blob string String NVarChar 3 VarWChar NVarChar NVarChar TimeSpan Time 1 DBTime Time DateTime UInt16 UInt16 1 UnsignedSmallInt Int UInt16 UInt32 UInt32 1 UnsignedInt BigInt UInt32 UInt64 UInt64 1 UnsignedBigInt Numeric Number AnsiString VarChar VarChar VarChar VarChar AnsiStringFixedLength Char Char Char Char Currency Money Currency 1 Number Date 1 DBDate Date DateTime SByte 1 TinyInt 1 SByte StringFixedLength NChar WChar NChar NChar Time 1 DBTime Time DateTime VarNumeric 1 VarNumeric 1 Number 1 サポートされて居ない 2 バイト配列が VarBinary の最大サイズ (8000 バイト ) より大きい場合は 此の暗黙の変換はエラーに成る 8000 バイトを超えるバイト配列の場合は 明示的に SqlDbType を設定する 3 文字列が NVarChar の最大サイズ (4000 文字 ) より大きい場合 此の暗黙の変換はエラーに成る 4000 文字を超える文字列の場合は 明示的に SqlDbType を設定する -13-

14 DataSet オブジェクト 2 レコードの追加 レコードを追加するには DataRow オブジェクトを作成し 其れを DataTable オブジェクトの Rows コレクションに追加する 例 : レコードを追加する Dim Dr As DataRow = Ds.Tables("BOOK").NewRow Dr.Item(" タイトル ") = " 速習 Visual Basic 2005" Dr.Item(" 価格 ") = 3500 Ds.Tables("BOOK").Rows.Add(Dr) レコードを追加しても 追加したレコードが直ちにデータベースに反映される訳では無く Update メソッドを呼び出した時に DataSet オブジェクトよりデータベースに書き戻される レコードの更新 レコードを更新するには DataRow オブジェクトを直接書き換える 例 : レコードを更新する ( 最初のレコードの価格フィールドを変更 ) Dim Dr As DataRow = Ds.Tables("BOOK").Rows(0) Dr.BeginEdit( ) Dr.Item(" 価格 ") = 3500 Dr.EndEdit( ) Item プロパティを設定すると 其の時点で レコードが編集モードと成るが 何の時点で編集を終了するのかが解り難く成る為 変更前に 明示的に BeginEdit メソッドを呼び出して編集モードに入り 変更後に EndEdit メソッドを呼び出して編集モードを抜ける様にする 猶 EndEdit メソッドを呼び出す前に CancelEdit メソッドを呼び出すと BeginEdit メソッドを呼び出す前の値に戻す事が出来る レコードを更新しても 更新したレコードが直ちにデータベースに反映される訳では無く Update メソッドを呼び出した時に DataSet オブジェクトよりデータベースに書き戻される レコードの削除 レコードを削除するには DataRow オブジェクトの Delete メソッドを呼び出す 例 : レコードを削除する ( 最初のレコードを削除 ) Dim Dr As DataRow = Ds.Tables("BOOK").Rows(0) Dr.Delete ( ) レコードを削除しても 削除したレコードが直ちにデータベースに反映される訳では無く Update メソッドを呼び出した時に DataSet オブジェクトよりデータベースに書き戻される -14-

15 データベースの更新 DataTable オブジェクト内のレコードに対する変更 ( 追加 更新 削除 ) は Update メソッドを呼び出した時点で データベースに書き戻される 例 : データセットをデータベースに書き戻す DaB.Update(Ds) データベースに書き戻す対象と成る DataRow オブジェクトは DataRow オブジェクトの RowState プロパティに依り 判断される RowState プロパティは 下記の DataRowState 列挙体の値が設定されて居る 値 Added Deleted Modified Unchanged Detached 意味追加されたレコード削除されたレコード更新されたレコード変更されて居ないレコード何の DataTable オブジェクトの Rows コレクションにも属さないレコード DataRow オブジェクトの RowState プロパティに依り 実行されるクエリが決定される DataRowState.Added の場合 InsertCommand プロパティに設定したクエリを実行 DataRowState.Modified の場合 UpdateCommand プロパティに設定したクエリを実行 DataRowState.Deleted の場合 DeleteCommand プロパティに設定したクエリを実行 OleDbDataAdapter のコマンドを OleDbCommandBuilder を使用して生成 下記の様に OleDbCommandBuilder を使用して OleDbDataAdapter の InsertCommand UpdateCommand DeleteCommand の各コマンドを自動生成する事も出来る ' 接続文字列の設定 Dim CNS As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb" ' 各オブジェクトのインスタンス生成 Dim Cn As OleDbConnection = New OleDbConnection(CNS) Dim Da As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM 本 ", Cn) Dim Bd As OleDbCommandBuilder = New OleDbCommandBuilder(Da) 自動生成されたコマンドをイミディエイトウィンドウに出力して確認するには 下記の様にする Debug.WriteLine(Bd.GetInsertCommand( ).CommandText) Debug.WriteLine(Bd.GetUpdateCommand( ).CommandText) Debug.WriteLine(Bd.GetDeleteCommand( ).CommandText) 亦 コマンドテキストの変更するには 下記の様にする Bd.GetInsertCommand( ).CommandText = "INSERT INTO " Bd.GetUpdateCommand( ).CommandText = "UPDATE " Bd.GetDeleteCommand( ).CommandText = "DELETE FROM " 此の方法だと SelectCommand を変更すると RefreshSchema メソッドを呼び出す必要が有る 亦 必ず主キーが設定されて居なければ成らない -15-

VB実用③ アクセス操作Ⅰ

VB実用③ アクセス操作Ⅰ VB でアクセス操作 Ⅰ VB 2005 3 プログラムの概要 此処では コントロールを使用しないで コードに依るデータベースへの接続とデータの取得の方法を学ぶ コントロールに依るデータベース接続は 簡単にデータベースを操作する事が出来ると謂う利点が有り 小規模な運用で有れば 充分な能力を発揮する 併し 中規模 大規模に成り 複雑な操作を必要とする様に成れば 力不足に成る可能性が高く成る 然う成れば

More information

VB実用④ アクセス操作Ⅱ

VB実用④ アクセス操作Ⅱ VB でアクセス操作 Ⅱ VB 2005 4 プログラムの概要 前回に引き続き 此処では コードに依るデータベースの操作方法を学ぶ コネクションオブジェクトを用いてデータベースと接続し 表形式でデータを表示するデータグリッドビューコントロールにレコードデータを自動的に表示する手法を学ぶ 既に学んだ様にコントロールを連結する事に依り コードレスでデータベース操作が可能で有るが 此処では 着目して居る行

More information

データアダプタ概要

データアダプタ概要 データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter

More information

VB.NET解説

VB.NET解説 Visual Basic.NET データベース編 目次 ADO.NET の概要... 2 ADO.NET と ADO... 2 ADO.NET の仕組み... 4 ADO.NET の特徴... 7 データアクセスの基本... 8 Windows アプリケーションの開発手順... 8 データ接続の作成... 9 データアダプタとコネクションの作成...10 データセットの作成...14 データアクセスの利用...21

More information

データベース1

データベース1 データベース操作プログラム Ⅲ VB20 プログラムの概要 ACCESS 等のデータベースの操作に不慣れな者でも 簡単に使用する事が出来るようなデータベースアプリケーションを目指します 今回は データグリッドをクリックする事に依り 其のレコードのフィールドデータを個別にテキストボックスやコンボボックスに表示するを付加する 此の際 カテゴリ ID や著者 ID の様に人間に解り難いデータ形式では無く

More information

ICONファイルフォーマット

ICONファイルフォーマット グラフィックス 画像フォーマットエンコーダパラメータ 様々なフォーマットで画像を保存 Bitmap クラスを用いる事でビットマップ JPEG GIF PNG 等様々なフォーマットの画像を読み込み操作する事が出来る 更に Bitmap クラスや Graphics コンテナを用いて描画処理等を施したイメージをファイルに保存する事も出来る 此の時 読み込めるフォーマット同様に保存するフォーマットを選択する事が出来る

More information

ファイル操作-インターネットキャッシュ

ファイル操作-インターネットキャッシュ ファイル操作 インターネット一時ファイルの保存場所 インターネットキャッシュ インターネット一時ファイルの保存場所は Internet Explorer の場合 下記の手順で確認する事が出来る 1.[ ツール ] [ インターネットオプション ] でインターネットオプション画面のダイアログを表示させる 2.[ 全般 ] タブで [ インターネット一時ファイル ] グループの [ 設定 ] をクリックすると

More information

DAOの利用

DAOの利用 DAO VB2005 で DAO を使用して Excel のデータを取得 Visual Basic 6.0 Dim DB As DAO.Database Dim RS As DAO.Recordset Dim xlfilename As String Dim xlsheetname As String xlfilename = Form1.StatusBar1.Panels(12) & Dir(Form1.StatusBar1.Panels(12)

More information

mySQLの利用

mySQLの利用 MySQL の利用 インストール インストール時に特に注意点は無い 本稿記述時のバージョンは 6.5.4 で有る (2017 年 11 月現在では 6.10.4 で https://dev.mysql.com/downloads/connector/net/6.10.html よりダウンロード出来る ) 参照設定 インストールが終了すれば Visual Studio で参照の設定を行う 参照の設定画面で

More information

Case 0 sqlcmdi.parameters("?tencode").value = Iidata(0) sqlcmdi.parameters("?tenname").value = Iidata(1) 内容を追加します sqlcmdi.executenonquery() Case Else

Case 0 sqlcmdi.parameters(?tencode).value = Iidata(0) sqlcmdi.parameters(?tenname).value = Iidata(1) 内容を追加します sqlcmdi.executenonquery() Case Else Imports MySql.Data.MySqlClient Imports System.IO Public Class Form1 中間省略 Private Sub コマンドテストCToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles コマンドテストCToolStripMenuItem.Click

More information

ファイル操作

ファイル操作 ファイル操作 TextFieldParser オブジェクト ストリームの読込と書込 Microsoft.VisualBasic.FileIO 名前空間の TextFieldParser オブジェクトは 構造化テキストファイルの解析に使用するメソッドとプロパティを備えたオブジェクトで有る テキストファイルを TextFieldParser で解析するのは テキストファイルを反復処理するのと同じで有り

More information

データアダプタ概要

データアダプタ概要 データベース データアダプタ データアダプタの概要 データアダプタは ADO.NET マネージプロバイダの重要な部分で有り データソースとデータセットの間の通信に使用されるオブジェクトのセットで有る マネージプロバイダには アダプタの他に接続オブジェクト データリーダーオブジェクト 及び コマンドオブジェクトが含まれる アダプタは データソースとデータセットの間でデータを交換する為に使用される 多くのアプリケーションでは

More information

ルーレットプログラム

ルーレットプログラム ルーレットプログラム VB 2005 4 プログラムの概要 カジノの代表的なゲーム ルーレット を作成する 先ず GO! ボタンをクリックすると ルーレット盤上をボールが回転し 一定時間経過すると ボールが止まり 出目を表示するプログラムを作成する 出目を 1~16 大小 偶数奇数の内から予想して 予め設定した持ち点の範囲内で賭け点を決め 賭け点と出目に依り 1 点賭けの場合は 16 倍 其他は 2

More information

ListViewコントロール

ListViewコントロール ListView コントロール ListView コントロールへ項目を追加 本稿では.NET Framework の標準コントロールで有る ListView コントロール (System.Windows.Forms 名前空間 ) を活用する為に ListView コントロールにデータを追加する方法を紹介する ListView コントロールは データ項目をアイコン表示や詳細表示等に依り一覧表示する為の物で

More information

データベース1

データベース1 データベース操作プログラム Ⅱ VB9 プログラムの概要 オブジェクト型の変数宣言を行い コード上で データベースに接続し SQL を発行する 今回は オブジェクト型の変数宣言に依り データベースと接続する為のオブジェクト 及び 検索文を発行した際にデータを格納するオブジェクトを コード上で生成してデータベースに接続し 各レコードのフィールド情報を取得して 其れをコンボボックスの項目に追加する 此れに依り

More information

TableAdapterクラス

TableAdapterクラス テーブルアダプタ TableAdapter の概要 TableAdapter を使用すると アプリケーションとデータベース間で通信する事が出来る様に成る 具体的には TableAdapter は データベースに接続し クエリやストアドプロシージャを実行し 返されたデータが格納された新しいデータテーブルを返すか 返されたデータを既存の DataTable に格納する TableAdapter は 更新されたデータをアプリケーションからデータベースに送り返す場合にも使用する

More information

データベースⅠ

データベースⅠ データベース操作プログラム Ⅰ VB 2005 8 プログラムの概要 データベースプログラムを手軽に作成する方法としては Access のフォーム機能を用いる事が 先ず考えられます ウィザードも充実しており 操作を覚えれば簡単に作成する事が出来ます 其れでは VB でデータベースプログラムを作るメリットは何んでしょうか 1 つは Access のフォーム機能に比べ コントロールが充実している事 より自由なデザインが可能です

More information

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 ( 此処では 10) を代入する丈でなく 2 の配列変数の宣言の様に ブレース { } の中にカンマ区切りで初期値のリストを記述し 配列の各要素に初期値を代入出来る様に成った

More information

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None クイック検索検索 目次 Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報概要レコードの追加 / 更新 / 削除レコードの編集レコードを削除するレコードの一括インポートとエクスポート日本語のキャプション表示 2 改訂情報 変更年月日 変更内容 2012-10-01 初版 2013-10-01 第 2 版下記が追加 変更されました 対応するフィールドの型

More information

ファイル操作-バイナリファイル

ファイル操作-バイナリファイル ファイル操作 バイナリ ファイルを読み書きする バイナリファイル ( 即ちテキストファイル以外のファイル ) を読み書きするには FileStream クラス (System.IO 名前空間 ) を利用する FileStream クラスはファイル用のストリームをサポートするクラスで有り Stream クラス (System.IO 名前空間 ) の派生クラスの 1 つで有る 基本的には コンストラクタで指定したファイルのストリームに対して

More information

With sqlda sqlda に SelectCommand を追加.SelectCommand = New MySqlCommand() With.SelectCommand.CommandType = CommandType.Text.CommandText = "select * from

With sqlda sqlda に SelectCommand を追加.SelectCommand = New MySqlCommand() With.SelectCommand.CommandType = CommandType.Text.CommandText = select * from Imports MySql.Data.MySqlClient Public Class Form1 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Label3.Text = "MySQL のデータ表示と更新のテストを行います メニューから行いたい処理を選択して実行してください

More information

ブロック パニック

ブロック パニック ブロックパニック VB 2005 9 プログラムの概要 壁が迫り来る不思議な空間のオリジナルゲーム ブロックパニック を作成する スタートボタンをクリックし上下左右の矢印キーで白猿を移動させる スペースキーを押すと 向いて居る方向の壁が後退する 左右の壁が合わさると ゲームは終了する 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い 此処では ゲームプログラムを作成する事に依り

More information

プロセス間通信

プロセス間通信 プロセス間通信 プロセス間通信 (SendMessage) プロセス間通信とは 同一コンピューター上で起動して居るアプリケーション間でデータを受け渡し度い事は時々有る Framework には リモート処理 と謂う方法でデータの受け渡しを行なう方法が有る 此処では 此の方法では無く 従来の方法の API を使用したプロセス間通信を紹介する 此の方法は 送信側は API の SendMessage で送り

More information

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版  

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版   Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報概要レコードの追加 / 更新 / 削除レコードの編集レコードを削除するレコードの一括インポートとエクスポート日本語のキャプション表示 2 改訂情報 変更年月日 変更内容 2012-10-01 初版 2013-10-01 第 2 版下記が追加 変更されました 対応するフィールドの型 が追加されました

More information

データベースプログラミング

データベースプログラミング データセットとデータテーブル データセット (DataSet) とは何かに付いて 簡単に説明する データセットとは 典型的な.NET の Windows データベースアプリケーションでは データセットを通じてアプリケーションからデータベースにアクセスする データセットとは 簡単に謂うと データベースから取得したレコードをメモリ上に持つ為の入れ物で有る 例えば データベースからレコードを取得し 其れをグリッドコントロールに表示する様な

More information

構造体

構造体 構造体 Byte 配列 構造体とコピーする方法 構造体とバイト配列の変換を行うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; 下記の 3 種類の構造体にバイト配列の値を格納した場合に付いて検証する

More information

グラフィックス

グラフィックス グラフィックス PictureBox の Image プロパティに関する良く有る勘違い PictureBox に画像を表示する方法と仕て PictureBox の Image プロパティを使う方法と Graphics の DrawImage メソッドを使う方法が有るが 此の 2 つの方法を混同し 正しく理解して居ない事が多い様で有る 例えば 下記に列挙する様な状況が 此れに該当する 1.PictureBox

More information

正規表現応用

正規表現応用 正規表現 正規表現を使って文字列が或る形式と一致するか調べる 指定された正規表現のパターンと一致する対象が入力文字列内で見付かるか何うかを調べるには Regex クラスの IsMatch メソッドを使用する 此処では IsMatch メソッドを使った例を幾つか紹介する 猶 正規表現のパターンと一致する個所を探し 見付かれば 其の箇所を抽出する方法は 正規表現を使って文字列を検索し 抽出する で紹介して居る

More information

データベースⅢ

データベースⅢ データベース操作プログラム Ⅲ VB 2005 20 プログラムの概要 ACCESS 等のデータベースの操作に不慣れな者でも 簡単に使用する事が出来るようなデータベースアプリケーションを目指します 今回は データグリッドをクリックする事に依り 其のレコードのフィールドデータを個別にテキストボックスやコンボボックスに表示するを付加する 此の際 カテゴリ ID や著者 ID の様に人間に解り難いデータ形式では無く

More information

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るので 此れを利用して音声認識を行うサンプルを紹介する 下記の様な Windows フォームアプリケーションを作成する エディタを起動すると

More information

ADOとADO.NET

ADOとADO.NET ADO と ADO.NET Visual Basic.NET では 従来の ADO を従来の方法で使用する事も出来るが 通常 データベースにアクセスする為に ADO.NET を使用する 此処では Windows 上で動作するアプリケーションの開発に必要な知識を中心に ADO と ADO.NET の差異を説明する Visual Basic 6.0 では データベースにアクセスする為に ADO(ActiveX

More information

ブロック崩し風テニス

ブロック崩し風テニス ぱっくんフィッシング VB 2005 13 プログラムの概要 パーティゲームとして良く知られた釣りゲームです マウスで釣り糸を操作して 開閉する魚の口に餌を垂らし 魚が餌を咥えると 釣り上げ 籠の中に入れます 直ぐに口を開けて 海に逃れる魚 中々餌を離さず 籠に入らない魚と 色々なバリエーションが楽しめます 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い

More information

ADO.NETのアーキテクチャ

ADO.NETのアーキテクチャ データベース ADO.NET のアーキテクチャ 従来のデータ処理は 主に接続をベースとした 2 層モデルに基づいて居た 最近のデータ処理では 多階層アーキテクチャが多用される様に成った為 プログラマは 非接続型アプローチへと切り替えて アプリケーションに より優れたスケーラビリティを提供して居る ADO.NET のコンポーネント ADO.NET には データへのアクセスとデータの操作に使用出来るコンポーネントが

More information

Userコントロール

Userコントロール User コントロール 初めてのユーザーコントロールの作成 作成したクラスは他のプログラムで再利用出来る為 同じコードを何度も繰り返し作成する必要が無い コントロールも 複数のプロジェクトで再利用出来るクラスで有る 同じユーザーインターフェイスを何度も繰り返してデザインすると謂う経験は 恐らく誰でも有る 例えば 姓と名を入力する為の TextBox コントロールを追加した後で 両方を組み合わせてフルネームを作成するコードを追加する等の作業で有る

More information

VB実用① データベースⅠ

VB実用① データベースⅠ VB でデータベース Ⅰ VB 2005 1 プログラムの概要 データベースプログラムを手軽に作成する方法と仕ては Access のフォーム機能を用いる事が 先ず考えられる ウィザードも充実して居り 操作を覚えれば簡単に作成する事が出来る 其れでは VB でデータベースプログラムを作るメリットは何かと謂えば先ず Access のフォーム機能に比べ コントロールが充実して居り より自由なデザインが可能と謂う事と

More information

VB実用⑦ エクセル操作Ⅰ

VB実用⑦ エクセル操作Ⅰ VB でエクセル操作 Ⅰ VB 2005 7 プログラムの概要 事務処理に於いて Microsoft 社のスプレッドシートソフトで有るエクセルは データベースソフトで有るアクセスと共に 業界標準 (De Facto Standard) で有ると謂う事が出来る 此処では 其のエクセルを Visual Basic から操作する方法を 重点的に学ぶ 今回は Visual Basic でエクセルを利用する基本と成るオブジェクト生成と

More information

VB.NET解説

VB.NET解説 Visual Basic.NET 印刷編 目次 印刷の概要... 2 印刷の流れ... 2 標準の Windows フォーム印刷ジョブの作成... 3 実行時に於ける Windows フォーム印刷オプションの変更... 3 Windows フォームに於ける接続されたプリンタの選択... 4 Windows フォームでのグラフィックスの印刷... 5 Windows フォームでのテキストの印刷...

More information

ハッシュテーブル

ハッシュテーブル ハッシュテーブル ハッシュテーブル ( 連想配列 ) を使う ハッシュテーブルとは キー (key) と値 (value) のペアを保持して居るコレクションで有る 通常の配列がインデックス番号に依り各値 ( 各要素 ) にアクセス出来るのに比べて ハッシュテーブルでは インデックス番号の代わりにキーを用いて 其の各値にアクセスする事が出来る キーと 其のキーから連想される ( 対応付けられて居る )

More information

データベースⅡ

データベースⅡ データベース操作プログラム Ⅱ VB 2005 9 プログラムの概要 オブジェクト型の変数宣言を行い コード上で データベースに接続し SQL を発行する 今回は オブジェクト型の変数宣言に依り データベースと接続する為のオブジェクト 及び 検索文を発行した際にデータを格納するオブジェクトを コード上で生成してデータベースに接続し 各レコードのフィールド情報を取得して 其れをコンボボックスの項目に追加する

More information

データベースⅠ

データベースⅠ データベース操作プログラム Ⅰ VB 2005 8 プログラムの概要 データベースプログラムを手軽に作成する方法としては Access のフォーム機能を用いる事が 先ず考えられます ウィザードも充実しており 操作を覚えれば簡単に作成する事が出来ます 其れでは VB でデータベースプログラムを作るメリットは何んでしょうか 1 つは Access のフォーム機能に比べ コントロールが充実している事 より自由なデザインが可能です

More information

データベース1

データベース1 データベース操作プログラム Ⅰ VB8 プログラムの概要 データベースプログラムを手軽に作成する方法としては Access のフォーム機能を用いる事が 先ず考えられます ウィザードも充実しており 操作を覚えれば簡単に作成する事が出来ます 其れでは VB でデータベースプログラムを作るメリットは何んでしょうか 1 つは Access のフォーム機能に比べ コントロールが充実している事 より自由なデザインが可能です

More information

Microsoft Word - Android_SQLite講座_画面800×1280

Microsoft Word - Android_SQLite講座_画面800×1280 Page 24 11 SQLite の概要 Android にはリレーショナルデータベースである SQLite が標準で掲載されています リレーショナルデータベースは データを表の形で扱うことができるデータベースです リレーショナルデータベースには SQL と呼ばれる言語によって簡単にデータの操作や問い合わせができようになっています SQLite は クライアントサーバ形式ではなく端末の中で処理が完結します

More information

3D回転体プログラム

3D回転体プログラム 3D 回転体プログラム VB 2005 4 プログラムの概要 入力画面で マウスを用いて 側面より見た平面図を描きます マウスの左ボタンをクリックする事で連続線を描き 右ボタンをクリックすると新しい線を描く事が出来る 側面図が完成すると 回転の基本角度を設定して 確定ボタンをクリックすると 平面図を立体図に座標変換する 各軸の回転角度を設定して 表示ボタンをクリックすると 立体図が表示される 各軸の回転角度を変更して

More information

NotifyIconコントロール

NotifyIconコントロール NotifyIcon コントロール システムトレイ ( タスクトレイ ) にアイコンを表示する.NET Framework 2.0 以降の場合は 後述の 2 を観て欲しい Outlook や MSN Messenger 等の様に Windows アプリケーションではシステムトレイ ( タスクトレイ ステータス領域等とも呼ばれる ) にアイコンを表示して アプリケーションの状態を示したり アプリケーションのフォームを表示したりする為のショートカットとして利用する事が出来る.NET

More information

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

More information

ファイル監視

ファイル監視 ファイル操作 ファイルやディレクトリの監視 FileSystemWatcher クラス.NET Framework のクラスライブラリには ファイルやディレクトリの作成 変更 削除を監視する為の FileSystemWatcher クラスが System.IO 名前空間に用意されて居る ( 但し Windows 98/Me では利用出来ない ) 此れを利用すると 特定のディレクトリにファイルが作成された

More information

インベーダープログラム

インベーダープログラム インベーダーゲーム VB 2005 5 プログラムの概要 テレビゲームの流行の魁と成る懐かしのゲーム インベーダー を作成する 先ず FIGHT!! ボタンをクリックすると インベーダーが左右に移動し乍ら 降下して来るので 自機を左右のカーソルキーで移動させ スペースキーでミサイルを発射する インベーダーが 最終ライン迄 降下して 侵略される前に 総てのインベーダーを撃墜しなければ ゲームは終了する

More information

データベースⅡ

データベースⅡ データベース操作プログラム Ⅱ C# 2005 9 プログラムの概要 オブジェクト型の変数宣言を行い コード上で データベースに接続し SQL を発行する 今回は オブジェクト型の変数宣言に依り データベースと接続する為のオブジェクト 及び 検索文を発行した際にデータを格納するオブジェクトを コード上で生成してデータベースに接続し 各レコードのフィールド情報を取得して 其れをコンボボックスの項目に追加する

More information

データアダプタ詳細

データアダプタ詳細 データベース DataAdapter クラス DataAdapter クラスの概要 DataSet へのデータの格納やデータソースの更新に使用される一連の SQL コマンドとデータベース接続を表す DataAdapter は DataSet とデータソースとの間でデータの取得と保存を行う為の ブリッジの役割を果たす DataAdapter は 此のブリッジを提供する為に DataSet 内のデータをデータソース内のデータと一致する様に変更する

More information

プラグイン

プラグイン プラグイン プラグイン詳細 2 ~ プラグイン機能を持つテキストエディタの作成 ~ はじめに Adobe Photoshop や Becky! Internet Mail 等のアプリケーションでは プラグイン ( 又は アドイン エクステンション 等 ) と呼ばれるプログラムをインストールする事に依り 機能を拡張する事が出来る 此の記事では此の様なプラグイン機能を持ったアプリケーションの作り方を プラグイン対応のテキストエディタを作成する事に依り

More information

VB実用⑬ 印刷Ⅲ(PrintFormメソッド)

VB実用⑬ 印刷Ⅲ(PrintFormメソッド) 印刷 Ⅳ VB 2005 4 プログラムの概要 事務処理に於いて 集計結果等を印刷して 確認等を行う事も多い為 ペーパーレスオフィスが推奨される昨今に於いても 矢張り印刷に関する技術は必要で有る Visual Basic から印刷を行う方法は.NET 以降 PrintDocument オブジェクトを使用する方法が 標準機能と仕て一般的で有るが Professional 版等では ReportView

More information

相性占いプログラム

相性占いプログラム 相性占いプログラム VB 2005 1 プログラムの概要 画面上で 男女夫々れの誕生日の月日と血液型をコンボボックスより選択した後 占うボタンをクリックする 相性とアドバイス & ポイントは 血液型と星座の位置に依り 予め或る占術法に基づき作成されたデータをファイルより読み込んで配列に記憶させ 誕生日と血液型に依り算出された評価値に該当するデータを表示する 猶 必要な入力が行われて居ない場合には 警告音を鳴らして

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスがインスタンス化されてからメソッドに成る ) # 関数 def test_func(): print('call test_func') #

More information

データベースの更新の実行

データベースの更新の実行 データベース データベースの更新の実行 概要 解らない事を信じて居るから 苦しむのさ 迷信は駄目だ スティービーワンダー スティービーワンダーは 勿論データベースの更新の事を謂って居た訳ではないだろうが 此の言葉は確かに此のテーマにも当て嵌る ADO.NET のデータベース更新機能は非常に強力だが.NET がベータ版だった頃に内外のニュースグループに寄せられた疑問や セミナー等で出された質問からすると

More information

回文作成支援プログラム

回文作成支援プログラム 回文作成支援プログラム VB1 プログラムの概要 原文を 1 字入力する度に 其の回文が順次表示される 即ち AB と入力すると ABA と表示され ABC と入力すると ABCBA と表示される 亦 消去ボタンをクリックすると 原文 及び 回文を消去する事も出来る 終了ボタンをクリックすると プログラムをメモリから消去して終了する 今回の課題項目 単純変数の宣言 (Dim) 標準コントロールの利用

More information

MVP for VB が語る C# 入門

MVP for VB が語る C# 入門 MVP for VB が語る C# 入門 2008.08.09 初音玲 自己紹介 Z80 アセンブラ 6809 アセンブラ F-BASIC N88-BASIC FORTRAN 77 COBOL LISP Turbo Pascal Prolog KABA C 言語 M シリーズ アセンブラ PL/I VB3.0~ PL/SQL T-SQL VB2005/2008 index Microsoft Visual

More information

ウィンドウ操作 応用

ウィンドウ操作 応用 Win32API 関数 ウィンドウ操作 ウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得 メモ帳や電卓等のウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得する方法を 下記に示す Visual Basic Imports System.Runtime.InteropServices Public Class WindowFromWindowName

More information

VB実用Ⅲ⑩ フリーデータベースⅡ

VB実用Ⅲ⑩ フリーデータベースⅡ MySQL の利用 MySQL の ODBC(MyODBC) テキストでは MySQL Connector/ODBC(mysql-connector-odbc-3.51.14-win32.msi) をインストールした場合に付いて解説して居るが 此処では MyODBC(MyODBC-3.51.10-x86-win-32bit.msi) をインストールし myodbc-3.51.06-conv_ujis.zip

More information

万年暦プログラム

万年暦プログラム 暦カルキュレータ VB8 プログラムの概要 テキストボックスで指定した年月日より オプションボタンで日付が選択されて居る場合は 何年 又は 何箇月 又は 何日 又は 何週後 又は 前の日付を求める 亦 オプションボタンで日数が選択されて居る場合は 更にテキストボックスで指定した年月日迄の日数を求める オプションボタンの選択状況に依り 入力欄の有効 無効を切り替えると共に コマンドボタンのキャプションを書き換えて

More information

回文作成支援プログラム

回文作成支援プログラム 回文作成支援プログラム VB 2005 2 プログラムの概要 原文を 1 字入力する度に 其の回文が順次表示される 即ち AB と入力すると ABA と表示され ABC と入力すると ABCBA と表示される 亦 消去ボタンをクリックすると 原文 及び 回文を消去する事も出来る 終了ボタンをクリックすると プログラムをメモリから消去して終了する 今回の課題項目 単純変数の宣言 (Dim) Windows

More information

占領双六ゲーム

占領双六ゲーム 占領双六ゲーム VB 2005 9 プログラムの概要 赤と青の 2 者が順番にサイコロを振り 出た目の数だけ駒を進めて行き 停止したマス目を自分の色に塗り潰して 自分の陣地に出来ると謂う 所有る陣取りゲームを作成する マス目は最初に其のマスに停止した方の陣地となり 既に孰れかの色に塗り潰されて居るマスに 後から別の駒が停止しても 陣地の占領者が変わる事は無い 総てのマス目が孰れかの色に塗り潰されゝばゲームは終了し

More information

Oracle Lite Tutorial

Oracle Lite Tutorial GrapeCity -.NET with GrapeCity - FlexGrid Creation Date: Nov. 30, 2005 Last Update: Nov. 30, 2005 Version: 1.0 Document Control Internal Use Only Author Hiroshi Ota Change Logs Date Author Version Change

More information

sinfI2005_VBA.doc

sinfI2005_VBA.doc sinfi2005_vba.doc MS-ExcelVBA 基礎 (Visual Basic for Application). 主な仕様一覧 () データ型 主なもの 型 型名 型宣言文字 長さ 内容 整数型 Integer % 2 バイト -32,768 32,767 長整数型 Long & 4 バイト -2,47,483,648 2,47,483,647 単精度浮動小数点数 Single 型!

More information

Oracle Lite Tutorial

Oracle Lite Tutorial GrapeCity -.NET with GrapeCity - InputMan Creation Date: Nov. 30, 2005 Last Update: Nov. 30, 2005 Version: 1.0 GrapeCity Microsoft Visual Studio.NET VB.NET Oracle Tips InputMan InputMan Oracle.NET Oracle

More information

構造体

構造体 構造体 構造体を取り扱うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; C# ユーザー定義型 (Type) と構造体 (Structure) 6.0 のユーザー定義型 (Type) を.NET

More information

VB実用Ⅲ⑩ フリーデータベースⅡ

VB実用Ⅲ⑩ フリーデータベースⅡ フリーデータベース Ⅱ VB オートメーション 10 プログラムの概要 事務処理に於いて Microsoft Office は 業界標準 (De Facto Standard) で有ると謂う事が出来る 此の Office には データベースソフトと仕て Access が用意されて居り 現在では データベースの代名詞とも謂う可き存在で有る 古くは MS-DOS 時代に 桐 と謂うデータベースが存在したが

More information

モグラ叩きプログラム

モグラ叩きプログラム プログラミングの有用性 VB 2005 1 醒めよ!! 遣り度い事を遣るには 先ず 遣らなければ成らない事を遣る! 現に 其の事に気付いて 日々 其の 遣らなければ成らない事 に邁進して居る人間が 居る 寧ろ 其れを愉しんでさえ居る者も居る 然して 着実に 世の中が必要とする技 術を身に付けて行って居る者が居る 併し 何が 遣らなければ成らない事 なのか解らない場合は 現実に対応出来る技術力 を持ち

More information

0 第 4 書データベース操作 i 4.1 データベースへの接続 (1) データベースチェックポイントの追加 データベースチェックポイントを追加します (2)ODBC による接続 ODBC を使用してデータベースへ接続します SQL 文を手作業で指定する場合 最大フェッチ行数を指定する場合はここで最大行数を指定します ii 接続文字列を作成します 作成ボタンクリック > データソース選択 > データベース接続

More information

64bit環境で32bitコンポーネントの利用

64bit環境で32bitコンポーネントの利用 64bit 環境 64bit 環境で 32bit コンポーネントの利用 Windows 7 や 8 の出現で 愈々 64bit 環境も普及し始めて来た 64bit 環境に於いては 64bit 用に最適化された 64bit コンポーネントを使用するのが本筋で有ろうが 64bit 環境に於いても 32bit コンポーネントを使用し度い場合が有る 過去の遺物 ( レガシ ) と仕て切り捨てるのではなく 良い物は良い物と仕て有効利用すると謂う観点から

More information

回文作成支援プログラム

回文作成支援プログラム 電光掲示板プログラム VB 2005 1 プログラムの概要 掲示文を入力し 表示開始ボタンをクリックすると 入力した掲示文が 上部の表示域に 右から左へ流れる様に表示される 亦 表示停止ボタンをクリックすると 掲示文の動きが停止する 終了ボタンをクリックすると タイマーを停止し プログラムをメモリから消去して終了する 今回の課題項目 単純変数の宣言 (Private) Windows フォームコントロールの利用

More information

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058 1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058 2 Excel 1 SQL 1 SQL Server sp_executesql Oracle SQL

More information

データベースⅢ

データベースⅢ データベース操作プログラム Ⅲ C# 2005 20 プログラムの概要 ACCESS 等のデータベースの操作に不慣れな者でも 簡単に使用する事が出来るようなデータベースアプリケーションを目指します 今回は データグリッドをクリックする事に依り 其のレコードのフィールドデータを個別にテキストボックスやコンボボックスに表示するを付加する 此の際 カテゴリ ID や著者 ID の様に人間に解り難いデータ形式では無く

More information

GUIプログラムⅡ

GUIプログラムⅡ GUI プログラム Ⅱ 前回課題の制作例 ファイル名 :awtsave.java import java.awt.*; import java.awt.event.*; public class awtsave extends Frame // Button クラスの宣言 Button btnsave; Label lblcaption1, lblcaption2, lblcaption3; Label

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション レッスン (1) あるワークシート中のあるセルを指定する Worksheets(" ワークシート名 ").Range(" セル ").Value ( 例 ) Worksheets(" データ収集 ").Range("A2").Value あるワークシートのセルから 別のワークシートのセルへ転記する Worksheets(" シート A").Range(" セル ").Value = Worksheets("

More information

(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O)

(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O) 21113 Visual Basic を利用したフリーソフト開発 要旨 各自でフリーソフトを作成 インターネット上に公開することを目的とし Visual Basic2008 2010 を使い簡単なアプリの作成に成功した 1. 目的情報化が進んだ現代において 社会に出ていくためにはパソコンの一つや二つ 軽く扱えなければならない さらに 資源の乏しい日本においては今後 情報技術の発展することが望ましいと考える

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 配列とコレクション 配列の使い方 固定配列 動的配列 コレクションの使い方 今日の目的 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As Long モジュールレベル Private arybuf(0 To 5) As Long Public arybuf(0 To 5) As Long 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As

More information

VFD256 サンプルプログラム

VFD256 サンプルプログラム VFD256 サンプルプログラム 目次 1 制御プログラム... 1 2.Net 用コントロール Vfd256 の使い方... 11 2.1 表示文字列の設定... 11 2.2 VFD256 書込み前のクリア処理... 11 2.3 書き出しモード... 11 2.4 表示モード... 12 2.5 表示... 13 2.6 クリア... 13 2.7 接続方法 ボーレートの設定... 13 2.8

More information

プレポスト【問題】

プレポスト【問題】 コース名 : 基礎から学ぶ!Excel VBA による業務の自動化 受講日 氏名 1 Excel VBA を使用するメリットとして誤っているものを 1 つ選びなさい 1. 手作業では手間のかかる作業も プログラムに記述した処理は一括して実行されるため 何段階ものメニュー操作を行う必要がなくなる 2. プログラムに書いた処理は記述どおりに実行されるため だれがいつ何回行っても確実な処理がなされ 誤動作を防ぐことができる

More information

1.dll の配置場所配布時はプログラムの実行フォルダーへ配置 2. 開発環境での使用 プロジェクトのプロパティーで [USBPIO.dll] を参照追加してください 開発環境 dll ファイルの場所 VB.Net Express Edition 境プロジェクトのフォルダ \bin\release VB.Netebugビルドの場合プロジェクトのフォルダ \bin\debug VB.Net Releaseビルドの場合プロジェクトのフォルダ

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

ファイル操作

ファイル操作 データセット DataSet クラス データのメモリ内キャッシュを表す 名前空間 :System.Data アセンブリ :System.Data(system.data.dll 内 ) 解説 データソースから取得されたデータのメモリ内キャッシュで有る DataSet は ADO.NET アーキテクチャの主要コンポーネントで有る DataSet は DataRelation オブジェクトと相互に関連付ける事が出来る

More information

Prog2_12th

Prog2_12th 2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java

More information

VB実用⑯ 印刷Ⅵ(Excel)

VB実用⑯ 印刷Ⅵ(Excel) 印刷 Ⅴ VB 2005 5 プログラムの概要 事務処理に於いて 集計結果等を印刷して 確認等を行う事も多い為 ペーパーレスオフィスが推奨される昨今に於いても 矢張り印刷に関する技術は必要で有る Visual Basic から印刷を行う方法は.NET 以降 PrintDocument オブジェクトを使用する方法が 標準と仕て一般的で有るが Professional 版等では ReportView や

More information

正規表現詳細

正規表現詳細 正規表現 正規表現言語要素.NET Framework SDK には 包括的な正規表現ツールのセットが用意されて居り 其のツールを使用する事で文字列の作成 比較 修正を効率的に行う 亦 大量のテキストやデータを素早く解析し テキストパターンの検索 削除 置換を行う事が出来る 此処では 正規表現を定義する一連の文字 演算子 及び 構成体に付いて説明する 置換.NET Framework 2 置換構成体は

More information

チャットプログラム

チャットプログラム チャット VB 2005 5 プログラムの概要 Winsock コントロールを使用すると リモートコンピュータに接続し データを交換出来る事を利用して チャット ( 通信雑談システム ) を作成する サーバー クライアント共に 背景色が黄色のテキストボックスに必要項目を入力し 設定ボタンをクリックすると 通信が確立し チャットを開始する事が出来る 送信用テキストボックスに送信文を入力して送信ボタンをクリックすると

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 演習課題レッスン (1) '(1) ワークシートどうしのやりとり ' ワークシート 請求書 1 から ワークシート データ収集 にデータを転記しましょう Sub example01() ' 請求書番号 ( 請求書 1のE2からデータ収集のA2へ ) Worksheets(" データ収集 ").Range("A2").Value = Worksheets(" 請求書 1").Range("E2").Value

More information

スレッド操作 タイマー

スレッド操作 タイマー スレッド操作 タイマー System.Windows.Forms.Timer Windows フォームの Timer は 一定の間隔でイベントを発生させるコンポーネントで有る 此のコンポーネントは Windows フォーム環境で使用する サーバー環境に適したタイマが必要な場合は 後述の System.Timers.Timer を使用する イベントの発生する間隔は ミリ秒単位で Interval プロパティで設定しする

More information

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部 はじめに コース概要と目的 Oracle 独自の手続き型言語である PL/SQL について説明します PL/SQL の基本構文 ストアド サブプログラム トリガーの作成方法 またストアド サブプログラムの管理について習得することを目的としています 受講対象者 これから PL/SQL を使用してアプリケーション開発をされる方 前提条件 SQL トレーニング コースを受講された方 もしくは 同等の知識をお持ちの方

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プロシージャ プロシージャの種類 Subプロシージャ Functionプロシージャ Propertyプロシージャ Sub プロシージャ Subステートメント~ステートメントで囲まれる 実行はするけど 値は返さない 途中で抜けたいときは Exit Sub を行なう Public Sub はマクロの実行候補に表示される Sub プロシージャの例 Public Sub TestSubProc() Call

More information

何時何処で誰が

何時何処で誰が 何時何処で誰が VB 2005 2 プログラムの概要 表示タブでは 表示ボタンをクリックする度に 各文節がランダムに選択されて表示される 編集タブでは 新たに文章を入力して追加したり 既存の文章を訂正して更新したり 不要の文章を削除したりする事が出来る 亦 先頭や末尾 1 つ前や 1 つ後のレコードに移動する為のボタンも用意する 今回は ファイルアクセスの基礎と成るシーケンシャルファイルの入出力全般に付いて学習します

More information

回文作成支援プログラム

回文作成支援プログラム スロットプログラム プログラムの概要 スタートボタンをクリックすると 3 個のピクチャーボックスの絵がランダムに変化する 次にストップボタンをクリックすると 3 個のピクチャーボックスの絵が止まり 3 個の絵柄が総て揃えば あたり 2 個の絵柄が揃えば おしい 総ての絵柄が異なれば はずれ と表示される 終了ボタンをクリックすると プログラムをメモリから消去して終了する 今回の課題項目 定数の宣言

More information

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作 Access 2007 と SQL Server Express を使用 SQL 文は SQL Server 主体で解説 Access 版ノースウィンドウデータベースを使用 DBMS プログラム サーバーエクスプローラ SQL 文 実行結果 データベース エンジン データベース SQL 文とは 1 度のコマンドで必要なデータを効率よく取得するための技術といえます

More information

相性占いプログラム

相性占いプログラム 相性占いプログラム VB1 プログラムの概要 画面上で 男女夫々れの誕生日の月日と血液型をコンボボックスより選択した後 占うボタンをクリックします 相性とアドバイス & ポイントは 血液型と星座の位置に依り 予め或る占術法に基づき作成されたデータをファイルより読み込んで配列に記憶させ 誕生日と血液型に依り算出された評価値に該当するデータを表示します 猶 必要な入力が行われて居ない場合には 警告音を鳴らして

More information

テスト 1/7 ページ プレポスト Visual Studio による Windows アプリの開発 ( 基礎編 ) 受講日程受講番号氏名 1.NET Framework に関する記述で 誤っているものを選びなさい 1..NET Framework に含まれる CLR は プログラミング言語に依存し

テスト 1/7 ページ プレポスト Visual Studio による Windows アプリの開発 ( 基礎編 ) 受講日程受講番号氏名 1.NET Framework に関する記述で 誤っているものを選びなさい 1..NET Framework に含まれる CLR は プログラミング言語に依存し 1/7 ページ プレポスト Visual Studio による Windows アプリの開発 ( 基礎編 ) 受講日程受講番号氏名 1.NET Framework に関する記述で 誤っているものを選びなさい 1..NET Framework に含まれる CLR は プログラミング言語に依存しない中間言語を実行するための環境である 2..NET Framework に含まれる.NET Framework

More information

画像閲覧プログラム

画像閲覧プログラム 画像閲覧プログラム VB 2005 3 プログラムの概要 連動するドライブリストボックス ディレクトリリストボックス ファイルリストボックスから画像ファイルを選択してクリックします ピクチャーボックスに選択した画像が実物大で表示される 此の時 画像が表示領域より大きい場合は 画像の大きさに応じてスクロールバーが表示される 此のスクロールバーを操作する事に依り 画像全体を見る事が出来る 終了ボタンをクリックすると

More information

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)...

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)... レコードセット (ADODB.Recordset) の使い方 作成日 : 2018/02/05 作成者 : 西村 更新履歴 更新日 更新概要 作業者 2018/02/05 新規作成 西村 1 目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst,

More information

Oracle Lite Tutorial

Oracle Lite Tutorial GrapeCity -.NET with GrapeCity - SPREAD Creation Date: Nov. 30, 2005 Last Update: Nov. 30, 2005 Version: 1.0 Document Control Internal Use Only Author Hiroshi Ota Change Logs Date Author Version Change

More information

アプリケーション

アプリケーション アプリケーション開発 お絵かきソフト 目次 お絵かきソフトを作ってみよう... 3 絵を書く枠と場所表示を作る... 3 マウスの動きを見てみよう... 4 絵を書く準備をします... 5 絵を書くとはどういうことか... 5 では線画を描いてみよう... 6 マウスをドラッグしたときだけ線を引くように改造する... 8 お絵かきソフトを作ってみよう 今回は お絵かきソフトを作ってみましょう マウスを動かして線画を書いてみましょう

More information

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター 平成 30 年度 プログラミング研修講座 岩手県立総合教育センター 目次第 1 章プログラミングについて 1 ソフトウェアの働き 1 2 プログラミング言語 1 3 主なプログラミング言語の歴史 2 第 2 章 Visual Basic について 1 Visual Basic とは 3 2.NET Framework の環境 3 3 Visual Basic と.NET Framework の関係

More information

パラパラ漫画

パラパラ漫画 パラパラ漫画 VB 2005 3 プログラムの概要 10 枚のピクチャーボックスの夫々れに マウスを左クリックしてドラッグする事に依り 連続線を引き 自由な絵を描く 此の場合 マウスを右クリックする事に依り 新たな線を描き始める事が出来る 描画の対象と成る各ピクチャーボックスは 戻るボタン又は 進むボタンをクリックする事に依り 変更する事が出来る 10 枚の絵を描き終われば ( 途中での再生も可 )

More information