"Входная строка имела неверный формат." при взаимодействии с SQL Server через Win Forms
Я не могу найти ошибку в запросе, или даже не могу понять в чем может быть ошибка. При нажатии на кнопку данные должны вноситься в указанное поле в БД. Сама ошибка "Входная строка имела неверный формат.". Типы данных сверял, везде указал конвертирование в нужный формат. HELP пожалуйста
if (textBox10 != null)
{
query1 = $"UPDATE [BooksMain] SET [Цена]={Convert.ToDecimal(textBox10.Text)} WHERE [Код книги]={Convert.ToInt32(textBox18.Text)}";
command = new SqlCommand(query1, myConnection);
}
весь код блока:
SqlConnection myConnection = new SqlConnection(connectionString);
myConnection.Open();
string query = $"SELECT [Код книги] FROM [BooksMain] WHERE [Код книги]={Convert.ToInt32(textBox18.Text)}";
SqlCommand command = new SqlCommand(query, myConnection);
SqlDataReader reader = command.ExecuteReader();
if ((textBox18 != null) & reader.Read())
{
string query1;
MessageBox.Show("Успешно");
if (textBox10 != null)
{
query1 = $"UPDATE [BooksMain] SET [Цена]={Convert.ToDecimal(textBox10.Text)} WHERE [Код книги]={Convert.ToInt32(textBox18.Text)}";
command = new SqlCommand(query1, myConnection);
}
if (textBox11 != null)
{
query1 = $"UPDATE [BooksMain] SET [Количество экземпляров]={Convert.ToInt32(textBox11.Text)} WHERE [Код книги]={Convert.ToInt32(textBox18.Text)}";
command = new SqlCommand(query1, myConnection);
}
if (textBox12 != null)
{
query1 = $"UPDATE [BooksMain] SET [Издательство]={Convert.ToString(textBox12.Text)} WHERE [Код книги]={Convert.ToInt32(textBox18.Text)}";
command = new SqlCommand(query1, myConnection);
}
if (textBox13 != null)
{
query1 = $"UPDATE [BooksMain] SET [Год издания]={Convert.ToInt32(textBox13.Text)} WHERE [Код книги]={Convert.ToInt32(textBox18.Text)}";
command = new SqlCommand(query1, myConnection);
}
if (textBox14 != null)
{
query1 = $"UPDATE [BooksMain] SET [Автор]={Convert.ToString(textBox14.Text)} WHERE [Код книги]={Convert.ToInt32(textBox18.Text)}";
command = new SqlCommand(query1, myConnection);
}
if (textBox15 != null)
{
query1 = $"UPDATE [BooksMain] SET [Название]={Convert.ToString(textBox15.Text)} WHERE [Код книги]={Convert.ToInt32(textBox18.Text)}";
command = new SqlCommand(query1, myConnection);
}
if (textBox16 != null)
{
query1 = $"UPDATE [BooksMain] SET [Код жанра]={Convert.ToInt32(textBox16.Text)} WHERE [Код книги]={Convert.ToInt32(textBox18.Text)}";
command = new SqlCommand(query1, myConnection);
}
if (textBox17 != null)
{
query1 = $"UPDATE [BooksMain] SET [Код поставки]={Convert.ToString(textBox17.Text)} WHERE [Код книги]={Convert.ToInt32(textBox18.Text)}";
command = new SqlCommand(query1, myConnection);
}
}
else
{
MessageBox.Show("Введите действительный код книги");
}
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Строка textBox18.Text не может быть конвертирована в целое, или, скорее, строка textBox10.Text не может быть конвертирована в Decimal. Наиболее вероятно, что дело в десятичном разделителе.