データの保存処理
入力した予定データの保存処理コードを記述します。
読み出しコードは、すでにVisual StudioによってフォームのLoadイベントハンドラに作成されていますので、保存オプション処理だけを作成します。これは、フォームのClosingイベントハンドラに作成します。
なお、データ保存の際は、DataSetオブジェクトの制約チェックを一時的に無効するため、EnforceConstraintsプロパティをFalseにしてからUpdateメソッドを実行します。
Public Class Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 'TODO: このコード行はデータを 'スケジュール保存DataSet1.内線番号一覧' テーブルに読み込みます。必要に応じて移動、または削除をしてください。 Me.内線番号一覧TableAdapter.Fill(Me.スケジュール保存DataSet1.内線番号一覧) 'TODO: このコード行はデータを 'スケジュール保存DataSet.予定' テーブルに読み込みます。必要に応じて移動、または削除をしてください。 Me.予定TableAdapter.Fill(Me.スケジュール保存DataSet.予定) End Sub Private Sub Form1_FormClosing(sender As System.Object, e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing Me.スケジュール保存DataSet.EnforceConstraints = False Me.予定TableAdapter.Update(Me.スケジュール保存DataSet.予定) Me.スケジュール保存DataSet.EnforceConstraints = True End Sub End Class
namespace C1Schedule_cs { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // TODO: このコード行はデータを 'スケジュール保存DataSet1.内線番号一覧' テーブルに読み込みます。必要に応じて移動、または削除をしてください。 this.内線番号一覧TableAdapter.Fill(this.スケジュール保存DataSet1.内線番号一覧); // TODO: このコード行はデータを 'スケジュール保存DataSet.予定' テーブルに読み込みます。必要に応じて移動、または削除をしてください。 this.予定TableAdapter.Fill(this.スケジュール保存DataSet.予定); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { this.スケジュール保存DataSet.EnforceConstraints = false; this.予定TableAdapter.Update(this.スケジュール保存DataSet.予定); this.スケジュール保存DataSet.EnforceConstraints = true; } } }
まとめ
このように、C1Scheduleコントロールを使用することで、高度なスケジュール管理機能を簡単にアプリケーションに実装することができます。データベースとの連結も、設定方法が分かれば簡単ですし、面倒なコードはデータベースのアップデート処理を3行書くだけで済みます。