public string InsertStudent(Student student)
{
string message = "";
SqlConnection connection = new SqlConnection(connectionString);
string query = "insert into Students values(@regNo, @name, @email, @departmentId)";
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.Clear();
command.Parameters.Add("regNo", SqlDbType.VarChar, 50).Value = student.RegNo;
//////////////////or//////////////
command.Parameters.Add("name", SqlDbType.VarChar);
command.Parameters["name"].Value = student.Name;
command.Parameters.Add("email", SqlDbType.VarChar);
command.Parameters["email"].Value = student.Email;
command.Parameters.Add("departmentId", SqlDbType.Int);
command.Parameters["departmentId"].Value = student.DepartmentId;
connection.Open();
int rowAffected = command.ExecuteNonQuery();
connection.Close();
}
私の質問:私はSqlCommandのパラメータはどのように機能しますか?
command.ExecuteNonQuery()
または
command.ExecuteReader()
を書くとき、コマンドリファレンスは、新しく作成されたSqlParameter
オブジェクトの参照またはメモリ位置を見つける方法?
ヒープメモリとスタックメモリで、これらのオブジェクトとその関係の参照の画像を描画できますか?
おそらく私の答えは、画像を以下の通りです:
ドキュメントを検索しましたか? – astidham2003
パラメータを追加するさまざまな方法によって違いが生じると思いますか?コンパイラが完成するまでには、まるで同じように終わる可能性があります。そしてあなたは本当に私に画像を描かせたくありません。 – stuartd
本当に好奇心が強い場合は、.NETのリフレクターを使ってILを見ることができます – reggaeguitar