2013-10-03 5 views
0

Я пытался добавить значение в текстовое поле и метку. значение внутри метки автоматически генерируется во время загрузки страницы. Это может быть отрицательный, положительный или нулевой (десятичный тоже). Когда я пытаюсь добавить его с помощью значения текстового поля, я получаю следующую ошибку. Ниже приведена ошибка и код.Добавить значение в текстовое поле и метку в C#

Строка ввода не в правильном формате. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

Сведения об исключении: System.FormatException: Входная строка не была в правильном формате

SqlCommand cmd6 = new SqlCommand("update dues set amount = @due where person='rahul'", con); 
      cmd6.Parameters.Add("@due", SqlDbType.Int); 
      cmd6.Parameters["@due"].Value = int.Parse(txt_rahul.Text + lbl_rahul.Text); 
      cmd6.ExecuteNonQuery(); 
+0

Это означает, что содержимое txt_rahul.Text или lbl_rahul.Text не является числом. int.Parse не может преобразовать его в число. – ema

+0

Тип данных вашего параметра в БД не соответствует значению, которое вы вставляете в БД, или ваше автоматически сгенерированное значение не совпадает с вашим типом данных поля. попробуйте это int.Parse (txt_rahul.Text) + int.Parse (lbl_rahul.Text) –

ответ

0

попробовать это

SqlCommand cmd6 = new SqlCommand("update dues set amount = @due where person='rahul'", con); 
      cmd6.Parameters.Add("@due", SqlDbType.Int); 
      cmd6.Parameters["@due"].Value = Convert.ToDouble(txt_rahul.Text) + Convert.ToDouble(lbl_rahul.Text); 
      cmd6.ExecuteNonQuery(); 
+0

Строка ввода не была в правильном формате. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде. Сведения об исключении: System.FormatException: строка ввода не была в правильном формате. –

+0

Ну, какие значения вы вкладываете в обе коробки, вы целые? Являются ли они десятичными знаками? Это строки? – Arran

+0

Для десятичной дроби дает ошибку. –

0

txt_rahul.Text + lbl_rahul.Text бы конкатенации string «S вместе, это не добавило бы их вверх.

Сначала вам нужно разобрать каждый в целое число. Как в:

int something = int.Parse(txt_rahul.Text); 
int somethingElse = int.Parse(lbl_rahul.Text); 
cmd6.Parameters["@due"].Value = something + somethingElse; 
+0

Он отлично работает для целых чисел, но дает ошибку, когда значение в метке равно десятичной, как -162.8 Строка ввода не была в правильном формате. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде. Сведения об исключении: System.FormatException: строка ввода не была в правильном формате. –

+0

Хорошо, что ваш столбец базы данных является int. Вы не поставляете int. Что вы ожидаете от этого? Если вы также указали десятичное число, измените столбец базы данных. – Arran

Смежные вопросы