首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理Adox对象时的问题

处理Adox对象时的问题
EN

Stack Overflow用户
提问于 2012-07-21 21:09:45
回答 1查看 425关注 0票数 0

使用ADOX类,我正在尝试创建一个空的Ms访问Database.The代码(据我所知)并生成数据库,但是当我试图从windows资源管理器打开数据库时,我得到了“无法使用name.accdb;已经在使用的文件”错误消息。我检查了文件目录,并且name.idb文件也出现在目录中,而没有打开数据库。在我关闭C# windows窗体应用程序之后,name.idb就消失了,我可以打开数据库。下面是我使用ADOX创建数据库时使用的代码。

代码语言:javascript
复制
 public void CreateDatabase()
    {
        string databaseName = txtFileName.Text;
        try
        {
            ADOX.Catalog cat = new ADOX.Catalog();

            if (!File.Exists(databaseName + ".accdb"))
            {
                cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data 
                 Source=D:\\" + databaseName + ".accdb" + ";");
                cat = null;
            }
            cat = null;
        }
        catch (Exception e)
        {
            MessageBox.Show(e.Message, e.Source);
        }
    }

我还试图通过实现IDispaosable接口来释放cat对象,但是没有什么改变。您能告诉我如何解决这个问题吗?在应用程序生成之后,哪个用户可以打开数据库而不关闭(杀死)应用程序?

问候

EN

回答 1

Stack Overflow用户

发布于 2012-12-31 14:11:48

也许您需要释放对象。在调用Create之后尝试添加以下内容:

代码语言:javascript
复制
Marshal.FinalReleaseComObject(cat.Tables);
Marshal.FinalReleaseComObject(cat.ActiveConnection);
Marshal.FinalReleaseComObject(cat);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11595867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档