IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]不能删除电子数据表的单元格

    testcs_dn发表于 2015-07-20 13:20:03
    love 0

    使用OleDB方式操作Excel,删除Excel中的表时提示该错误,很是奇怪(不过也是见怪不怪了,微软的东西就喜欢给出一些莫名其妙的错误提示),昨天还能删除的,今天就删除不了了(不过昨天到今天确实有个大动作,把系统Ghost到了SSD固态硬盘上了,但操作的Excel文件路径并没有改变)。

    详细错误信息:
    {System.Data.OleDb.OleDbException (0x80004005): 不能删除电子数据表的单元格。
    在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
    在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
    在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
    在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
    在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
    在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
    在 Roadmap_Excel.Form1.button2_Click(Object sender, EventArgs e)

    相关代码:

    连接字符串:

    //定义OleDB连接字符串
                string strConn = "Provider=Microsoft.Ace.OleDb.12.0;Persist Security Info=False;" + "data source=" + @excelPath + ";Extended Properties='Excel 12.0; HDR=yes; IMEX=10'";
                OleDbConnection conn = new OleDbConnection();
                conn.ConnectionString = strConn;

    执行删除的代码:

                            try
                            {
                                cmd = new OleDbCommand("Drop Table [" + roadmapTableName + "]", conn);
                                cmd.ExecuteNonQuery();
                            }
                            catch (System.Exception ex)
                            {
                                textBox1.Text += ("删除数据表失败:" + ex.Message);
                                textBox1.Text += ("\r\n");
                                //该 ISAM 不支持在链接表中删除数据。
                                cmd = new OleDbCommand("Delete From [" + roadmapTableName + "]", conn);
                                cmd.ExecuteNonQuery();
                            }

    实在找不到原因,那就手动删除吧。
    目前还没找到解决办法,网上也没搜索到相关问题的网页。



沪ICP备19023445号-2号
友情链接