如题,我需要新建一个ACCESS95的数据库,用了下面的代码:
        createaccess:=createoleobject('ADOX.catalog');
        createaccess.create('Provider=Microsoft.Jet.OLEDB.3.51;Data Source='+exepath+dbname);
        application.ProcessMessages;
        sleep(3000);
        frmmain.ADOConnection1.Connected:=false;
        frmmain.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.3.51;Data Source='
            +exepath+dbname+';Persist Security Info=False';
        frmmain.ADOConnection1.Connected:=True;可是每次运行到 最后一句就提示:不能使用'';文件正在使用中然后发现 MDB数据库是生成了,而且是ACCESS95 。也就 是说我生成了数据库,却不能连接。
我的系统是XP的,ACCESS装的是2003的,如果 将Microsoft.Jet.OLEDB.3.51改为Microsoft.Jet.OLEDB.4.0则正常。只是生成的ACCESS是2003版本的,我需要95版本的。
如果是已经生成的ACCESS95的数据库,直接用
       frmmain.ADOConnection1.Connected:=false;
        frmmain.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.3.51;Data Source='
            +exepath+dbname+';Persist Security Info=False';
        frmmain.ADOConnection1.Connected:=True;
进行连接也不会报错。
为什么呢?高手指点一下呀~~
这个问题已经郁闷一个星期了。

解决方案 »

  1.   

    连接前把 createaccess 释放了看一下
      

  2.   

    那你需要安装一个Access95才可以。
    然后把机器换成PII的。
    操作系统换成Win95。
    这就匹配了。
      

  3.   


    刚才试了一下,在sleep(3000)后面加了一句:createaccess.free;
    但是报错了:Method 'free' not supported by automation object
    是我的释放方式错了吗?
      

  4.   

    [Quote=引用 4 楼 zycrazyworker 的回复:]
    引用 2 楼 mjp1234airen4385 的回复:
    那你需要安装一个Access95才可以。
    然后把机器换成PII的。
    操作系统换成Win95。
    这就匹配了。
    骏马兄,这个说法是不是太绝对了。因为我如果是已经建好的95的数据库,是能正常连接的呀~~