我收到以下错误
类型' 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#
我可以很好地添加和删除此表中的内容,但更新会导致此问题
答案 0 :(得分:2)
对日期,组,时间等保留关键字使用括号
Update Job Set Name = @Name, [Date] = @Date, Material = @Material, Instructions = @Instructions, [Group] = @Group, [Time] = @Time, Address = @Address Where Id = @Id
答案 1 :(得分:-1)
您必须使用方括号作为保留关键字 试试这个:更新作业集名称= @Name,[日期] = @Date,材料= @Material,说明= @Instructions,[Group] = @Group,[时间] = @时间,地址= @地址其中Id = @ ID