Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2019, 22:32   #1
jOBER
Пользователь
 
Регистрация: 02.09.2018
Сообщений: 32
По умолчанию C# sql

Здравствуйте, подскажите пожалуйста, как можно избавиться от этой ошибки (System.Data.SqlClient.SqlException : "Incorrect syntax near 'Index'. If this is intended as a part of a table hint, A WITH keyword and parenthesis are now required. See SQL Server Books Online for proper syntax."). Я не понимаю, ведь я делаю на подобе проекта который делал. Там было все хорошо, но количество параметров который я заносили или изменял было меньше. При удаление данных не выдает ошибка. Вот пример, что у меня есть. Ошибка на строке await command.ExecuteNonQueryAsync():
Код:
private async void button1_Click(object sender, EventArgs e)
        {
            if (label15.Visible)
                label15.Visible = false;
            if (!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox1.Text) &&
                !string.IsNullOrEmpty(textBox2.Text) && !string.IsNullOrWhiteSpace(textBox2.Text) &&
                !string.IsNullOrEmpty(textBox3.Text) && !string.IsNullOrWhiteSpace(textBox3.Text) &&
                !string.IsNullOrEmpty(textBox4.Text) && !string.IsNullOrWhiteSpace(textBox4.Text) &&
                !string.IsNullOrEmpty(textBox5.Text) && !string.IsNullOrWhiteSpace(textBox5.Text) &&
                !string.IsNullOrEmpty(textBox6.Text) && !string.IsNullOrWhiteSpace(textBox6.Text))
            {
                SqlCommand command = new SqlCommand("INSERT INTO [Clients] (Title,AddressOfTheAccount,City,Phone,Index,Country)VALUES(@Title,@AddressOfTheAccount,@City,@Phone,@Index,@Country)", sqlConnection);
                command.Parameters.AddWithValue("Title", textBox1.Text);
                command.Parameters.AddWithValue("AddressOfTheAccount", textBox2.Text);
                command.Parameters.AddWithValue("City", textBox3.Text);
                command.Parameters.AddWithValue("Phone", textBox4.Text);
                command.Parameters.AddWithValue("Index", textBox5.Text);
                command.Parameters.AddWithValue("Country", textBox6.Text);
                await command.ExecuteNonQueryAsync();
            }
            else
            {
                label15.Visible = true;
                label15.Text = "Поля Название, Адрес счета, Город, Телефон, Индекс, Страна должны быть заполенны!";
            }
        }
jOBER вне форума Ответить с цитированием
Старый 04.05.2019, 23:21   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Поле с названием Index не нравится.

Цитата:
Сообщение от jOBER Посмотреть сообщение
"Incorrect syntax near 'Index'. If this is intended as a part of a table hint, A WITH keyword and parenthesis are now required. See SQL Server Books Online for proper syntax.")
попробуйте взять имя поля в квадратные скобки:
Код:
SqlCommand command = new SqlCommand("INSERT INTO [Clients] (Title,AddressOfTheAccount,City,Phone,[Index],Country)VALUES(@Title,@AddressOfTheAccount,@City,@Phone,@Index,@Country)", sqlConnection);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.05.2019, 23:31   #3
jOBER
Пользователь
 
Регистрация: 02.09.2018
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Поле с названием Index не нравится.



попробуйте взять имя поля в квадратные скобки:
Код:
SqlCommand command = new SqlCommand("INSERT INTO [Clients] (Title,AddressOfTheAccount,City,Phone,[Index],Country)VALUES(@Title,@AddressOfTheAccount,@City,@Phone,@Index,@Country)", sqlConnection);
Спасибо большое.
jOBER вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц