为什么我用一下代码建立的 NewMDB.mdb的时候  NewMDB.mdb会有一个NewMDB.ldb文件存在。 
要怎么样才可以创建NewMDB.mdb完成后,NewMDB.mdb是关闭状态的。 
using System; 
using ADOX; 
namespace ConsoleApplication1 

class Class1 

[STAThread] 
static void Main(string[] args) 

ADOX.CatalogClass cat = new ADOX.CatalogClass(); 
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" + 
"Data Source=D:\\AccessDB\\NewMDB.mdb;" + 
"Jet OLEDB:Engine Type=5"); 
Console.WriteLine("Database Created Successfully"); 
cat = null; 


} 在c# winform中,第一次运行,程序中删除已经存在的MDB(此时的mDB没有ldb文件),再创建mdb,创建成功,没有产生ldb。 
第二次再点按钮  程序中删除已经存在的MDB(此时的mDB没有ldb文件),再创建mdb,创建成功,但是产生ldb文件。 当第三次再点的时候,删除文件就出错了,说文件正在使用中。 如果用conn.open()这个形式去访问MDB 
然后再 conn.Close()这个形式关闭,是不起作用啊。 
怎么办 大家帮帮我

解决方案 »

  1.   

    用完请dispose……
    Connection不是close就了事的,还得Dispose
      

  2.   

    我没链接的数据库,只有建立MDB 但是  建立MDB的同时 会有一个ldb生成
    这个应该表示的是mdb在使用吧?  
      

  3.   

    同时再说明一点  Connection我一开始就是 close   Dispose的
      

  4.   

    你看下cat.Create这就返回的是什么
    如果有返回值,接受并利用这个值进行关闭
      

  5.   

    返回的是  system.__comobject 啊 
    不懂了 
      

  6.   

    cat.Create返回的是什么system.__comobject   
    用Microsoft.VisualBasic.Information.TypeName(objWindow.Object)  最后得到是Connection
     
    不知道怎么转换了
      

  7.   


    我的怎么没有ldb文件呢?
      

  8.   


    不会吧 我叫我好几个同事 运行了    都有这个ldb你运行个几次看看 ,运行一次 有的时候是没的,太奇怪了