我使用OLeDB来更新excel表,但是我遇到了错误:System.Data.OleDb.OleDbException(0x80004005):操作必须使用可更新的查询。 下面是代码:
try
{
System.Data.OleDb.OleDbConnection conn;
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();
string sql = null;
conn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + productionMasterPath +
";Extended Properties=\"Excel 12.0 Xml;HDR=Yes\"");
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "Update [salad order$] set @store = @amount where 'SALAD MASTER' = '@salad'";
cmd.Parameters.AddWithValue("@store", store);
cmd.Parameters.AddWithValue("@amount", int.Parse(item.Value));
cmd.Parameters.AddWithValue("@salad", item.Key);
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
我的Excel文件未设置为只读,我已将用户NETWORK SERVICE添加到包含电子表格的文件夹的完全控制权限。这是我的查询,电子表格或我的文件夹权限的问题吗?