3

我正在使用此代码更新 mic access 2010 中的信息,但它一直告诉我更新语句中的语法错误。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);
}
4

2 回答 2

1

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

UPDATE Energy_Audit SET Appliances = @app, [Usage Per Day] = @usg, [Power (Watt)] = @pow, [Number of Item] = @num Where ID = @id 
于 2013-07-17T09:12:09.023 回答
0

像这样更改您的查询:

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

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

于 2013-07-17T09:12:36.817 回答