是这样的,我的程序FORM启动时,pagecontrol中有三个tabsheet,每个里面有个treeview,分别从三个数据库里提取数据动态显示在treeview里面。但是启动时,不能同时连接三个数据库啊,不晓得怎么搞(代码见下面),最后每个treeview都显示的最后一个数据库里的数据。我解决不了,所以就想在FORM启动时,只连接第一个数据库,把数据显示在第一个tabsheet的treeview里面,当点击第二个tabsheet标签时,再链接第二个数据库的内容显示在这个treeview里,当点击第三个tabsheet标签时,同样,链第三个数据库提取数据显示在treeview3里,但是点击tabsheet的触发函数不知道是哪个,这种方法解决一个就可以了,先谢过大家了,不知道看明白没有?procedure TForm2.FormShow(Sender: TObject);
const
FrmConStrA1 = 'Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="%s";Data Source="%s"';
FrmConStrA2 = 'Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="%s";Data Source="%s"';
FrmConStrA3 = 'Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="%s";Data Source="%s"';
var
constra1: string;
constra2: string;
constra3: string;
begin
ConStrA1 := Format(FrmConStrA1, ['', ExtractFilePath(Application.ExeName) + 'db3.mdb']);
ConStrA2 := Format(FrmConStrA2, ['', ExtractFilePath(Application.ExeName) + 'db2.mdb']);
ConStrA3 := Format(FrmConStrA3, ['', ExtractFilePath(Application.ExeName) + 'db1.mdb']);
with DMDATA.ADOCON do
begin
close;
ConnectionString := constra1;
ConnectionString := constra2;
ConnectionString := constra3;
open;
end;
end;
const
FrmConStrA1 = 'Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="%s";Data Source="%s"';
FrmConStrA2 = 'Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="%s";Data Source="%s"';
FrmConStrA3 = 'Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="%s";Data Source="%s"';
var
constra1: string;
constra2: string;
constra3: string;
begin
ConStrA1 := Format(FrmConStrA1, ['', ExtractFilePath(Application.ExeName) + 'db3.mdb']);
ConStrA2 := Format(FrmConStrA2, ['', ExtractFilePath(Application.ExeName) + 'db2.mdb']);
ConStrA3 := Format(FrmConStrA3, ['', ExtractFilePath(Application.ExeName) + 'db1.mdb']);
with DMDATA.ADOCON do
begin
close;
ConnectionString := constra1;
ConnectionString := constra2;
ConnectionString := constra3;
open;
end;
end;
解决方案 »
- 100分,线程中的定时器如何正常工作?
- 服务端用serversocket,客户端非正常关闭时会出现死连接,如何清理死连接
- 谁有dbctrlgrid使用的经验分享一下。主要是在每个面板(panle)中可以按不同的条件显示不同的颜色以方便区分
- 项目开发,我力不从心。希望给网友一些启示
- Re:★☆
- 在windows2000+delphi6+ado+access2000做的程序可以在windows98中用吗?
- Delphi中调用Flash的方法,在线急侯
- 一个关于dbgrid的问题,急!!!!!!!!!!
- *********谁能解释一下软件开发中的C/S和B/S结构呀?!?!***********
- 关于F1BOOK的问题,请各位前辈进入
- TDBGRIDE 是哪个里面的控件,是第三方控件吗?哪有下载
- 开帖散分,10/10[铁公鸡拨毛]
在 对应的tabsheet 打开的时候,才真正连接到数据库,
其它的,没显示的 tabsheet ,你取数据到里面treeview也是浪费的,
ConnectionString := constra2;
ConnectionString := constra3;其实到最后这个ADOCON 都是连接到最后一个上的,需要开三个ADOCON才可以
我不可能每点一次tabsheet,数据就要重新加载一次吧,所以又有了一个判断:问:怎么判断tabsheet里的树,已经从数据库里调了数据,这要就可以不用再调一次了,请问这个判断该怎么写?