使用OleDB更新excel表。如何解决Operation必须使用可更新的查询错误?

时间:2016-05-17 16:08:06

标签: c# excel oledb

我使用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添加到包含电子表格的文件夹的完全控制权限。这是我的查询,电子表格或我的文件夹权限的问题吗?

0 个答案:

没有答案