C#のデータベースアクセス技術でのExecuteNonQueryメソッドの使い方は何ですか。
ExecuteNonQueryメソッドは、挿入、更新、削除などの結果を返さないSQLステートメントを実行するために使用されます。以下はその使用手順です:
- データベースに接続するためのSqlConnectionオブジェクトを作成します。
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 其中connectionString是连接字符串,用于指定连接的数据库和其他参数
// connectionString的具体内容根据数据库类型和配置而定
connection.Open();
// 打开数据库连接
}
- SQL文を実行するためのSqlCommandオブジェクトを作成します。
using (SqlCommand command = new SqlCommand(sql, connection))
{
// 其中sql是要执行的SQL语句,connection是之前创建的SqlConnection对象
// 设置参数(如果有)
command.Parameters.AddWithValue("@param1", value1);
command.Parameters.AddWithValue("@param2", value2);
// 执行SQL语句并返回受影响的行数
int rowsAffected = command.ExecuteNonQuery();
// 可以根据返回值进行相应的处理
}
注意:SQL文を実行する前に、SQLインジェクション攻撃を防ぐために、Parameters属性を使用してパラメータを追加できます。
- データベース接続を切断してください。
connection.Close();
以下は完全なサンプルコードです。
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string sql = "INSERT INTO MyTable (Column1, Column2) VALUES (@param1, @param2)";
using (SqlCommand command = new SqlCommand(sql, connection))
{
command.Parameters.AddWithValue("@param1", value1);
command.Parameters.AddWithValue("@param2", value2);
int rowsAffected = command.ExecuteNonQuery();
// 可以根据返回值进行相应的处理
}
connection.Close();
}
上記のうち、connectionStringはデータベースの種類、場所、認証方法などを指定する接続文字列です。sqlは実行するSQLクエリです。@param1、@param2はSQLクエリ内の値を渡すためのパラメータであり、value1、value2は具体的なパラメータ値です。