この記事では、C#のDataGridViewを使用し、ユーザーが行った変更(削除、追加、更新、移動、ソートなど)をデータベースに反映する方法を解説します。特に、データベース側で新規登録時には`RegDate`を、更新時には`UpdDate`を設定する方法について触れます。
1. DataGridViewの設定
まず、C#のDataGridViewをフォームに配置し、ユーザーが直接編集できるようにします。列としては、連番、商品名、型番、重量、値段、個数などを表示します。これらのデータは、`product`クラスのオブジェクトに格納され、各行はそのオブジェクトを表すようになります。
ユーザーが行う操作(削除、追加、更新、移動、ソート)は、ボタンのクリックイベントで処理します。例えば、`DataGridView`に新しい行を追加する場合、`product`クラスのインスタンスを作成し、それをデータグリッドに反映させます。
2. データベース接続と準備
データベースに接続するためには、ADO.NETを使用します。`SqlConnection`を用いて、データベースへの接続を確立します。接続文字列(`ConnectionString`)は、データベースの種類や場所に合わせて設定します。
以下は、SQL Serverに接続するための基本的な接続文字列の例です。
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
3. データベースにデータを反映する
次に、ユーザーが行った変更をデータベースに反映させます。これを行うために、`INSERT`、`UPDATE`、`DELETE`のSQL文を作成し、それを実行します。データベースに反映する際に、`RegDate`(新規登録日)や`UpdDate`(更新日)を設定する必要があります。
以下は、データベースに新しいレコードを挿入するためのSQL文の例です。
string query = "INSERT INTO Products (ProductName, Model, Weight, Price, Quantity, RegDate) VALUES (@name, @model, @weight, @price, @quantity, @regDate)";
ここでは、`RegDate`を`GETDATE()`のように現在の日付で設定することもできます。更新の場合は、`UpdDate`を更新するために`UPDATE`文を使用します。
4. データベース登録の実行
最後に、データベース登録ボタンをクリックした際に、選択された行のデータをデータベースに反映させます。以下のコードでは、`SqlCommand`を使って、データベース操作を実行しています。
using (SqlCommand cmd = new SqlCommand(query, connection))
{
cmd.Parameters.AddWithValue("@name", product.Name);
cmd.Parameters.AddWithValue("@model", product.Model);
cmd.Parameters.AddWithValue("@weight", product.Weight);
cmd.Parameters.AddWithValue("@price", product.Price);
cmd.Parameters.AddWithValue("@quantity", product.Quantity);
cmd.Parameters.AddWithValue("@regDate", DateTime.Now);
connection.Open();
cmd.ExecuteNonQuery();
connection.Close();
}
5. まとめ
以上のように、C#で`DataGridView`に表示されたデータを編集し、ボタンを使ってそれらの変更をデータベースに反映させる方法を説明しました。新規に追加されたデータには`RegDate`、更新されたデータには`UpdDate`を設定することができます。これにより、データベースが正しく管理され、ユーザーの操作がデータベースに反映されるようになります。
コメント