System.Data.SqlClient.SqlException: неверная синтаксическая ошибка - PullRequest
1 голос
/ 12 июня 2019

Я пытаюсь создать панель администратора, и на этой панели можно добавить статьи. Почему-то я получаю эту ошибку:

System.Data.SqlClient.SqlException: неправильный синтаксис рядом с ключевым словом «файл».

Это часть кода, который я использовал для "новостного портала", который я пытаюсь создать. Это код на стороне сервера за страницей aspx панели инструментов.

protected void Publish_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

    con.Open();
    string command = "INSERT INTO Articles(title,author,content,file,tags) VALUES(@title,@author,@content,@file,@tags)";
    SqlCommand cmd = new SqlCommand(command, con);

    cmd.Parameters.AddWithValue("@title", Title1.Text);
    cmd.Parameters.AddWithValue("@author", Author.Text);
    cmd.Parameters.AddWithValue("@content", Content.Text);
    string strImg = System.IO.Path.GetFileName(File1.PostedFile.FileName);
    cmd.Parameters.AddWithValue("@file", strImg);
    cmd.Parameters.AddWithValue("@tags", Tag.Text);
    cmd.ExecuteNonQuery();
    con.Close();
    File1.PostedFile.SaveAs(Server.MapPath("Images\\") + strImg);
}

Я получаю эту ошибку каждый раз, когда нажимаю кнопку «опубликовать».

1 Ответ

2 голосов
/ 12 июня 2019

Вероятно, потому что file является зарезервированным словом , и поэтому вам необходимо заключить его в квадратные скобки:

string command = "INSERT INTO Articles(title,author,content,[file],tags) VALUES(@title,@author,@content,@file,@tags)";
...