Добавление значения Int в элемент управления Textbox

#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()