带有访问权限2010的C#中的更新语句中的语法错误

时间:2013-07-17 09:09:26

标签: c# ms-access

我正在使用此代码更新mic access 2010中的信息,但它一直告诉我update语句中的语法错误。 ihd已经搜索过以前的答案但是没有工作。这是我的剪辑代码。告诉我你们是否需要更多信息。

try
{
    OleDbCommand renew = test.CreateCommand();
    renew.CommandType = CommandType.Text;
    renew.CommandText ="UPDATE Energy_Audit SET Appliances = @app, Usage Per Day = @usg, Power (Watt) = @pow, Number of Item = @num Where ID = @id )";
    renew.Parameters.AddWithValue("@app", txtApp.Text);
    renew.Parameters.AddWithValue("@usg", txtUsg.Text);
    renew.Parameters.AddWithValue("@pow", txtPwr.Text);
    renew.Parameters.AddWithValue("@num", txtNum.Text);
    renew.Parameters.AddWithValue("@id", txtID.Text);
    renew.ExecuteNonQuery();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

2 个答案:

答案 0 :(得分:1)

你不能在列名中有空格,所以这样做,在它周围加上[]:

UPDATE Energy_Audit SET Appliances = @app, [Usage Per Day] = @usg, [Power (Watt)] = @pow, [Number of Item] = @num Where ID = @id 

答案 1 :(得分:0)

更改您的查询:

UPDATE Energy_Audit
SET Appliances = @app, [Usage Per Day] = @usg, [Power (Watt)] = @pow, [Number of Item] = @num
Where ID = @id )

如果您的列名称包含空格,则必须将其封装在方括号中。