Сопоставление типа объекта system.int32[] с известным собственным типом управляемого поставщика не существует.
cmd = new SqlCommand("INSERT INTO Table_2 VALUES (@Diagnostic_Data,@Error_Codes,@Input_Output,@Shift_Inhibits) ", conn); cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@Diagnostic_Data", display_diagnostic_data); cmd.Parameters.AddWithValue("@Error_Codes", Error_Codes); cmd.Parameters.AddWithValue("@Input_Output", Input_Output); cmd.Parameters.AddWithValue("@Shift_Inhibits", Shift_Inhibits); conn.Open(); cmd.ExecuteNonQuery();//error conn.Close();
Что я уже пробовал:
cmd = new SqlCommand("INSERT INTO Table_2 VALUES (@Diagnostic_Data,@Error_Codes,@Input_Output,@Shift_Inhibits) ", conn); cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@Diagnostic_Data", display_diagnostic_data); cmd.Parameters.AddWithValue("@Error_Codes", Error_Codes); cmd.Parameters.AddWithValue("@Input_Output", Input_Output); cmd.Parameters.AddWithValue("@Shift_Inhibits", Shift_Inhibits); conn.Open(); cmd.ExecuteNonQuery();//error conn.Close();
F-ES Sitecore
Одним из ваших значений param будет массив int, который вы не можете установить в качестве параметра SQL, так как SQL не имеет подходящего типа для использования. Решение зависит от того, как вы хотите обрабатывать параметр массива, который мы не знаем. Возможно, вам нужно превратить его в строку типа "1,2,3,4" или вызвать SP один раз для каждого элемента в массиве.