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();
}
Ma question: quand j'écrisComment fonctionne SqlCommand avec les paramètres?
command.ExecuteNonQuery()
ou
command.ExecuteReader()
comment la référence de commande trouver les références ou les emplacements de mémoire nouvellement créés de SqlParameter
objets?
Pouvez-vous dessiner des images de références de ces objets et de leurs relations dans la mémoire de tas et la mémoire de pile?
probablement ma réponse est l'image suivante:
Avez-vous cherché de la documentation? – astidham2003
Qu'est-ce qui vous fait penser que les différentes façons d'ajouter un paramètre peuvent faire une différence? Au moment où le compilateur est fini, ils ont l'air de pouvoir finir tous de la même façon. Et vous ne voulez vraiment pas que je dessine une image .. – stuartd
Vous pourriez utiliser le réflecteur .NET pour regarder l'IL si vous êtes vraiment si curieux – reggaeguitar