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

cbc的bug,该如何解决

2012-02-27 
cbc的bug我的Form1上有OpenDialog和ADOQyery及ADOConnection组件,在没有用OpenDialog组件之前,ADOQyery及A

cbc的bug
我的Form1上有OpenDialog     和   ADOQyery   及ADOConnection组件,在没有用OpenDialog组件之前,ADOQyery   及ADOConnection   的连接都是正确的(ADOQyery的连接指向ADOConnection),但是一旦启用了OpenDialog之后,ADOConnection的连接路径就成了OpenDialog的路径了,之前ADOConnection连接数据库的路径就变了,因此就提示我在该路径下没有数据库,这是怎么回事情啊?



[解决办法]
AnsiString szLINK = this-> ADOConnection1-> ConnectionString;
this-> OpenDialog1-> Execute();
this-> ADOQuery1-> Active = true;
ShowMessage(szLINK);

没有发现你说的现象,无论我有没有选中文件并打开;最后弹出的messagebox内容均是
数据库联接字符串;

ps:用OpenDialog之后 文件路径发生改变的这种事 我的确碰到过
具体描述
AnsiString savePath = "\\save "; //用相对路径
OpenDialog1-> Excute();
AnsiString GetPath = OpenDialog-> FileName;
FileCreate(savePath+ "\\file.txt ");//绝对失败,因为此时 savePath已经成为 GetPath+ "\\ "+savePath...



[解决办法]
试了一下,没发现问题.

楼主说的 "ADOConnection的连接路径就成了OpenDialog的路径了 "中的ADOConnection的连接路径是什么?

另外建议在程序里有关路径之类的在使用之前先转换成绝对路径,比如
"abc.mdb "
改成
IncludeTrailingPathDelimiter(ExtractFilePath(Application-> ExeName))+ "abc.mdb ";
长是长了点,呵呵
[解决办法]
这个其实算不上啥BUG吧。。。以前就郁闷老久,好象记得必须按一个固定的顺序去做链接,否则OVER,建议楼上在程序中有代码弄这些东西,不要在IDE上搞了

热点排行