Ошибка при заполнении базы данных MS SQL

230
26 апреля 2017, 09:01

Используя функцию Insert хочу добавить данные в базу данных, но возникает следующая ошибка:

System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near '№'.

Вот выполняемый код.

public void Insert(string num, string index, string fio, string city, string date)
    {
        string sql = string.Format("INSERT People_list" +
               "(№, Индекс, ФИО, Адрес, Дата) Values(@№, @Индекс, @ФИО, @Адрес, @Дата)");
        using (SqlCommand cmd = new SqlCommand(sql, this.connect))
        {
            cmd.Parameters.AddWithValue("@№", num);
            cmd.Parameters.AddWithValue("@Индекс", index);
            cmd.Parameters.AddWithValue("@ФИО", fio);
            cmd.Parameters.AddWithValue("@Адрес", city);
            cmd.Parameters.AddWithValue("@Дата", date);
            try
            {
                cmd.ExecuteNonQuery();
            }
            catch (SqlException odbcEx)
            {
                Console.WriteLine("Возникли проблемы с функцией Insert = " + odbcEx);
            }
        }
}

Заранее спасибо за ответ.

Answer 1

Попробуйте так:

string sql = string.Format("INSERT INTO People_list" +
           "([№], [Индекс], [ФИО], [Адрес], [Дата]) Values(@id, @zip, @name, @address, @date)");
using (SqlCommand cmd = new SqlCommand(sql, this.connect))
{
    cmd.Parameters.AddWithValue("@id", num);
    cmd.Parameters.AddWithValue("@zip", index);
    cmd.Parameters.AddWithValue("@name", fio);
    cmd.Parameters.AddWithValue("@address", city);
    cmd.Parameters.AddWithValue("@date", date);
    try
    {
        cmd.ExecuteNonQuery();
    }
    catch (SqlException odbcEx)
    {
        Console.WriteLine("Возникли проблемы с функцией Insert = " + odbcEx);
    }
}

Но вообще использовать кириллицу для идентификаторов это не самая лучшая идея.

READ ALSO
Доступ к label slider и т.д. из другого окна

Доступ к label slider и т.д. из другого окна

Ребята, подскажите пожалуйста как получить доступ к элементам окна (label,slider) из обработчика событий другого окна?

221
C# - API для MPC-HC

C# - API для MPC-HC

Добрый деньЕсть ли возможность использовать Media Player Classic Home Cinema как компонент в приложении на WPF? Возможно существуют какие-то библиотеки,...

305
Поменять символы в строке местами

Поменять символы в строке местами

Необходимо ввести через Writeline строку и используя процедуру поменять символы местами наоборот, например:

329
Автоинкремент версии/билда проекта Visual Studio

Автоинкремент версии/билда проекта Visual Studio

Best practice автоинкремента версии/билда относительно C# / Visual Studio?

385