SQL查询语法错误错误c#

时间:2016-11-29 17:11:13

标签: c# sql sql-server wpf visual-studio

我收到以下错误

  

类型' System.Data.SqlClient.SqlException'未处理的异常发生在System.Data.dll中   其他信息:关键字' Group'附近的语法不正确。

当我运行以下查询时

string query = "Update Job Set Name = @Name, Date = @Date, Material = @Material, Instructions = @Instructions, Group = @Group, Time = @Time, Address = @Address Where Id = @Id";

DataRowView drv = (DataRowView)jobGrid.Items.GetItemAt(0);
string name = drv.Row[0].ToString();

int Id = getId(name);

using (connection = new SqlConnection(connectionString))
using (SqlCommand command = new SqlCommand(query, connection))
{
    connection.Open();
    string date = drv.Row[1].ToString();
    string material = drv.Row[2].ToString();
    string details = drv.Row[3].ToString();
    string group = drv.Row[4].ToString();
    string time = drv.Row[5].ToString();
    string address = drv.Row[6].ToString();

    command.Parameters.AddWithValue("@Name", name);
    command.Parameters.AddWithValue("@Date", date);
    command.Parameters.AddWithValue("@Material", material);
    command.Parameters.AddWithValue("@Instructions", details);
    command.Parameters.AddWithValue("@Group", group);
    command.Parameters.AddWithValue("@Time", time);
    command.Parameters.AddWithValue("@Address", address);
    command.Parameters.AddWithValue("@Id", Id);

    command.ExecuteNonQuery();
}

除了首先出现的Id之外,所有这些事情都以该顺序存在于数据库中。我使用数据库中的不同表运行类似的更新,它完美地工作。我不确定" Group"是什么问题?这会导致错误。我插入Group的值是一个由表ass varchar(50)指定的字符串。我正在使用Visual Studio WPF c#

我可以很好地添加和删除此表中的内容,但更新会导致此问题

2 个答案:

答案 0 :(得分:2)

对日期,组,时间等保留关键字使用括号

Update Job Set Name = @Name, [Date] = @Date, Material = @Material, Instructions = @Instructions, [Group] = @Group, [Time] = @Time, Address = @Address Where Id = @Id

检查Reserved Keywords (Transact-SQL)

答案 1 :(得分:-1)

您必须使用方括号作为保留关键字 试试这个:更新作业集名称= @Name,[日期] = @Date,材料= @Material,说明= @Instructions,[Group] = @Group,[时间] = @时间,地址= @地址其中Id = @ ID