C# исключение IndexOutOfRangeException

176
02 июля 2018, 02:50

Есть форма и подключен файл БД (MS SQL)

string connection = Settings.Default.DataClient1;
    SqlConnection sqlConnection;
    SqlCommand sqlCommand;  
private void Edit_Click(object sender, EventArgs e)
    {
        int uspeshno;
        sqlConnection = new SqlConnection(connection);
        string sql = String.Format("UPDATE Class SET Classification = @class WHERE [ID_class] = {0}", int.Parse(LabelIDClass.Text));
        sqlConnection.Open();
        try
        {
            sqlCommand = new SqlCommand(sql, sqlConnection);
            sqlCommand.Parameters.Add("class", SqlDbType.NVarChar);
            sqlCommand.Parameters["@class"].Value = TxtEdit.Text; //Здесь появляется исключение IndexOutOfRangeException
            uspeshno = sqlCommand.ExecuteNonQuery();
            if (uspeshno != 0)
            {
                MessageBox.Show("Изменена запись", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                TxtEdit.Text = "";
            }
            else
            {
                MessageBox.Show("Ошибка", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        catch (Exception)
        {
            MessageBox.Show("Ошибка2", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        finally
        {
            sqlConnection.Close();
        }
    }

Все верно с именем таблиц и полей, как можно обработать исключению? Помогите пожалуйста...

Answer 1

В Add тоже надо с "собачкой" указать имя параметра.

sqlCommand.Parameters.Add("@class", SqlDbType.NVarChar);
READ ALSO
C# WPF. Хранение приватных данных

C# WPF. Хранение приватных данных

Доброго времени суток!

156
Как лучше подойти к реализации создания подключения к базе MySQL, ASP.NET

Как лучше подойти к реализации создания подключения к базе MySQL, ASP.NET

Товарищи, хотелось бы испросить совета в следующем вопросе: Положим, у нас имеется ASPNET проект, подгружающий данные из базы (MySQL)

139
Событие click у user control

Событие click у user control

Как при помощи user control вызвать другую формуЕсть Form1 с user_control1 и есть Form2

177
Перенос информации из DataGriedView (WinForm) в SQL Server 2014

Перенос информации из DataGriedView (WinForm) в SQL Server 2014

Друзья доброго дняПроблема - из DataGriedView переношу данные на сервер, произвожу над ними операции и возвращаю обратно, однако если один из столбцов...

146