在线等!不能建立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有时会有奇怪的问题,新建工程,将代码复制过去就行了。