Во-первых, я привык бы использовать параметризованные запросы, если вы не планируете использовать хранимые процедуры. В вашем примере я бы:
using (var command = new SqlCommand("INSERT INTO tb_User(ID, f_Name, l_Name) VALUES (@id, @forename, @surname)", conn))
{
command.Parameters.AddWithValue("id", id);
command.Parameters.AddWithValue("forename", forename);
command.Parameters.AddWithValue("surname", surname);
command.ExecuteNonQuery();
}
Где id
, forename
, surname
- соответствующие переменные. Обратите внимание, что я также использую блоки using
, это гарантирует, что мои объекты будут очищены после его завершения.