#c# #asp.net
#c# #asp.net
Вопрос:
Когда я добавляю запись в свою базу данных, я извлекаю автоматически сгенерированный идентификационный ключ из таблицы. Мне нужно поместить идентификатор в текстовое поле для последующего использования в моем коде. Вот мой код, и он выдает мне эту ошибку:
Введенная строка была в неправильном формате
Вот мой код:
// Insert the record by executing the command
numRowsAdded = command.ExecuteNonQuery();
// Use @@IDENTITY to work out the primary key of
// the new row and display it
command.CommandText = "SELECT @@IDENTITY";
id = Convert.ToInt32(command.ExecuteScalar());
id = Convert.ToInt32(lessonIDTextbox.Text);
Ответ №1:
Не помещайте его в текстовое поле, если единственная причина, по которой вы это делаете, — использовать позже в коде.
Вы получаете указанную выше ошибку, потому что в lessonIDTextbox нет значения (на основе кода, который вы нам показали). id
значение уже есть, и вы можете использовать его позже в своем коде. Если вы пытаетесь сохранить это значение при обратной передаче или чем-то еще, вам может потребоваться изучить другие варианты.
Если есть какая-то другая причина, по которой вам нужно поместить это в текстовое поле, вы бы сделали это следующим образом:
lessonIDTextbox.Text=id.ToString();
Ответ №2:
lessonIDTextbox.Text=command.ExecuteScalar().ToString()