Does using parameterized SqlCommand make my program immune to SQL injection?
I'm aware that SQL injection is rather dangerous . Now in my C# code I compose parameterized queries with SqlCommand class : SqlCommand command = ...; command.CommandText = "SELECT * FROM Jobs WHERE JobId = @JobId;"; command.Parameters.Add("@JobId", SqlDbType.UniqueIdentifier ).Value = actualGuid; command.ExecuteNonQuery(); Will this automatically make my code immune to SQL injection? Do I have to do something extra? I'd say for your particular, and probably canonical, example for parametrized queries, yes it is sufficient. However, people sometimes write code like this cmd.CommandText =