VB.NETでDataGridViewに読み込んだDB情報を再取得する

VB.NETでDataGridViewに読み込んだDB情報を再取得する

VB.NET で Access のデータベースを操作してるメモです。今回は、再読込の実装をしてみます。


関連記事

  1. DataGridViewへAccessのデータベースファイルを読み込む
  2. AccessDBテーブルの主キー情報を取得する
  3. DataGridViewに読み込んだDB情報を再取得する ←NOW!
  4. DataGridViewをセル編集したときの行数を格納する
  5. Accessのデータベースファイルへ書き込むための接続・切断
  6. Accessデータベースのレコードを削除する
  7. Accessデータベースを更新する

ガッツリ続き物になってしまいました…。過去の分と合わせて順番に読んでいただけると分かりやすいかと思います。

なるべく簡素に書いているので、例外処理は甘いと思われます。ご参考にする際は、ご自分の環境に合わせてご修正ください。

解説のためツギハギしちゃったので、最後の記事(7回め)に全コードまとめてあります。

書いたときの環境

  • Visual Studio 2010
  • .NET Framework 4.0

です。

コード

Form2.vb

150219-1

デザイン画面のここをダブルクリックすると、そのボタンを押した時のコードを自動で作ってくれるので、

'### Form2.vb ###
Public Class Form2
	Private Const FILE_NAME As String = "C:\test.accdb"
	Private db As DBtable
	Private dgv As DataGridView

	'----------------------------------------------------
	'    メソッド
	'----------------------------------------------------
	Private Sub setTable()
		'DataGridViewにテーブル内容をセット(略)
	End Sub

	'----------------------------------------------------
	'  Formイベント
	'----------------------------------------------------
	Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles Me.Load
		'フォームロード時(略)
	End Sub

	Private Sub Form2_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
		'フォームが閉じたとき(略)
	End Sub

	'----------------------------------------------------
	'  Buttonクリックイベント
	'----------------------------------------------------
	Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
		'再読込ボタン(Button1)クリック時
		db.Dispose()	'いったん破棄
		Call setTable()
	End Sub
End Class

再読込のボタンを押したら、いったんDBとの接続を解除したのち、setTableプロシージャを呼び出しますよー、という形にしておきます。

動作確認

150219-2

適当にこのあたりを、

150219-3

違う文字列にしてみて(この時点では DataGridView のセルが変わるだけで DB には反映されません)、再読込のボタンを押すと、

150219-4

元の状態を読み込み直しますよー、と。

簡単ですが、今回はここまで。

公開日:2015/02/19

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)