首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

!不能建立ado,异常:cannot open file bdeconst.obj

2012-02-19 
在线等!不能建立ado,错误:cannot open file bdeconst.obj汗!1\一个main主程序,和一个线程程序,我再主程序

在线等!不能建立ado,错误:cannot open file bdeconst.obj
汗!
    1\一个main主程序,和一个线程程序,我再主程序里最普通的添加一个adoconnect控件cn
                cn-> LoginPrompt   =false;
                cn-> ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=db1.mdb;Jet   OLEDB:Database   Password=123456 ";
              cn-> ConnectionTimeout   =15;
              cn-> Connected   =true;   就会报错.数据库的代码是其他可运行程序拷贝过来的.
2\试过多种方法.都是同样的错误.
          如果不用控件,直接定义
      TAdoConnection   *cn=new   TAdoConnection(NULL);可能有拼写错误,但是程序中绝对是对的,new以后,cn   有值.程序可通过.
        只要加上
        cn-> ConnectionString= " ";   就报错误:cannot   open   file   bdeconst.obj

3\   没有办法了   ,还试过其他方式,都不行用ado.最后改用文本存,请问:
sprintf(title, "%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s ",................)
cb帮助里没有详细说明,有关于sprintf的说明吗? "%s ",和 ":%s "等
      我现在去新建一个工程,试一试,但是以前的工程都没有问题,连接!

[解决办法]
我是这样写的,调式成功
if(!OpenDialog1-> Execute())
{
return;
}
String dbname = OpenDialog1-> FileName;
ADOConnection1-> Close();
ADOConnection1-> LoginPrompt =false;
WideString db_str = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source= "+dbname+ ";Mode=Share Deny None;Extended Properties=\ "\ ";Jet OLEDB:System database=\ "\ ";Jet OLEDB:Registry Path=\ "\ ";Jet OLEDB:Database Password=\ "\ ";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\ "\ ";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don 't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False ";
ADOConnection1-> ConnectionString = db_str;
ADOConnection1-> Open();
[解决办法]
bdeconst.obj估计文件坏了,建议从安装包里重新释放出来一个覆盖掉就可以了.
[解决办法]
sprintf与printf参数的用法是相同的.
[解决办法]
ADOConnect*cn=new ADOConnect;
[解决办法]
BCB有时会有奇怪的问题,新建工程,将代码复制过去就行了。

热点排行