Получение ошибки формата в проекте C# при попытке нажать кнопку вставки - PullRequest
0 голосов
/ 16 марта 2020

Я внедряю отдельное приложение, используя C#. Но я получаю ошибку при нажатии кнопки вставки. Как я могу решить эту проблему?

Код:

try
{        
  con.Open();
  String insert_query = "INSERT INTO Items(Item_Number, Total_Item,Item_Name, Price,Category)" + 
       "VALUES("+ int.Parse(textBox2.Text) + "," +
                  int.Parse(textBox3.Text) + ",'" +
                  textBox4.Text+ "'," +
                  int.Parse(textBox5.Text) + ",'" +
                  comboBox1.Text+"')";
  SqlDataAdapter SDA = new SqlDataAdapter(insert_query, con);
  SDA.SelectCommand.ExecuteNonQuery();

  MessageBox.Show("Add Success! ");
}
catch (Exception ex)
{
  MessageBox.Show("Error" + ex);
}
finally
{
  con.Close();
}

Ошибка:

ErrorSystem.FormatException: входная строка не была в правильный формат. в System.Number.StringToNumber (String str, параметры NumberStyle, NumberBuffer & number, инфо NumberFormatinfo, Bollean parseDecimal) в System.Number.Parseint32 (String s, стиль NumberStyle, информация NumberFormatinfo

1 Ответ

4 голосов
/ 16 марта 2020

Используйте вместо TryParse вместо анализа, потому что, если формат строки недопустим и это слово, синтаксический анализ не может этого сделать и выдает исключение, но TryParse возвращает false, если произошла ошибка.

bool res=int.TryParse("11", out number))---->res=true
bool res=int.TryParse("aa", out number))---->res=false
//or
int res=int.parse("11") -->it is ok
int res=int.parse("ff") //it is error and throw exception

Вы следует проверить введенный вами формат ввода текста, который должен быть числом в текстовом поле

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...