Member 14120682 Ответов: 1

Я не получаю данные в базу данных.я взял целочисленный тип данных


КМД = новая команда sqlcommand("вставить значения в таблице table_1 (@Diagnostic_Data,@Error_Codes,@Input_Output,@Shift_Inhibits)", соед);

cmd.параметры.Четкий();
cmd.параметры.AddWithValue ("@Diagnostic_Data", display_diagnostic_data);
cmd.параметры.AddWithValue ("@Error_Codes", Error_Codes);
cmd.параметры.AddWithValue("@Input_Output", Input_Output);
cmd.параметры.AddWithValue("@Shift_Inhibits", Shift_Inhibits);
Коннектикут.Открыть();
УМК.Метод executenonquery();
Коннектикут.Закрывать();

Что я уже пробовал:

cmd = new SqlCommand("INSERT INTO Table_1 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();
conn.Close();

Richard MacCutchan

Каковы типы display_diagnostic_data, Error_Codes и т. д.? Соответствуют ли они определениям в вашей схеме таблиц? Кроме того, вам нужно проверить возвращаемое значение из вызова ExecuteNonQuery, чтобы узнать, действительно ли это удалось или нет.

F-ES Sitecore

Публиковать один и тот же вопрос снова и снова и не указывать соответствующую информацию, необходимую людям, чтобы помочь вам, довольно бессмысленно.

1 Ответов

Рейтинг:
0

OriginalGriff

Начните с проверки любого кода ошибки, который он возвращает - они, вероятно, важны и дадут вам хорошее представление о том, почему он терпит неудачу.

А без них мы можем только гадать. Но самая распространенная ошибка - это ваш оператор INSERT-вы должны перечислить столбцы БД, которые хотите вставить в:

cmd = new SqlCommand("INSERT INTO Table_1 (DiagData, ErrCodes, InOut, ShiftInhibit) VALUES (@Diagnostic_Data, @Error_Codes, @Input_Output, @Shift_Inhibits)", conn);

Как я уже говорил в прошлый раз у вас была похожая проблема: Сопоставление типа объекта system.int32[] с известным собственным типом управляемого поставщика не существует.[^]
Если вы этого не сделаете, то любой столбец ID, который есть в таблице - а он должен быть один, вероятно, IDENTITY и в начале списка - не будет автоматически пропущен БД, и ваша вставка завершится неудачей.