Обрабатывать необязательные параметры при вызове хранимой процедуры

Постановка задачи.

По сути, я получаю от 3 до 50 параметров, которые возвращаются из веб-службы в виде массива NVP, и мне нужно затем зациклить их, создать параметры команды SQL для каждого и вызвать хранимую процедуру. Есть ли более эффективный способ справиться с этим, чем подход ниже?

 using (SqlConnection connection = new SqlConnection(connectionString))
                         {
                             connection.Open();
                             using (SqlCommand cm = connection.CreateCommand())
                             {
                                 cm.CommandText = "MySproc";
                                 cm.CommandType = CommandType.StoredProcedure;
                                 foreach (var field in row)
                                 {

                                     cm.Parameters.AddWithValue("@" + field.Key.ToString(), field.Value.ToString());
                                 }
                                 cm.ExecuteNonQuery();
                             }
                         }

1 ответ

Я лично использую ISNULL или COALESCE в предложении WHERE хранимой процедуры. Если только вы не собираетесь делать это внутри вашего C#...

http://blogs.x2line.com/al/archive/2004/03/01/189.aspx

Другие вопросы по тегам