C#でSQL Serverのレコードを更新する方法
サンプルコード
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
// SQL Server接続文字列
string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";
// 更新するバンド変数(複数の値を保持)
var parameters = new
{
ID = 1, // 更新する行のID
NewValue1 = "新しい値1",
NewValue2 = "新しい値2"
};
// 更新クエリ
string query = "UPDATE YourTableName SET Column1 = @NewValue1, Column2 = @NewValue2 WHERE ID = @ID";
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open(); // 接続を開く
using (SqlCommand command = new SqlCommand(query, connection))
{
// バンド変数を使用してパラメータを追加
command.Parameters.AddWithValue("@ID", parameters.ID);
command.Parameters.AddWithValue("@NewValue1", parameters.NewValue1);
command.Parameters.AddWithValue("@NewValue2", parameters.NewValue2);
// クエリ実行
int rowsAffected = command.ExecuteNonQuery();
Console.WriteLine($"{rowsAffected} 行が更新されました。");
}
}
catch (Exception ex)
{
Console.WriteLine($"エラーが発生しました: {ex.Message}");
}
}
}
}
追加説明
-
匿名型(var parameters)を使用:
バンド変数として
parametersを作成し、複数の値(ID、NewValue1、NewValue2など)をまとめて管理しています。
-
パラメータ追加時の柔軟性:
command.Parameters.AddWithValueを使って、バンド変数から値を取り出して設定しています。
-
保守性の向上:
将来的にパラメータが増えた場合でも、
parametersに新しいプロパティを追加するだけで対応できます。