delphi 中access数据库实现多库连接查询
来源:互联网 发布:php rbac权限管理系统 编辑:程序博客网 时间:2024/05/29 03:47
这里是指多个access数据库例如以日期建的库包括同属性的表,现在需要对所有的表中的内容进行查询。
具体方法:第一步:建立一个空的数据库,并建立一个临时表temp_b
第二步:遍历需要查询的数据库,将其中的待查数据表与临时表temp_b建立连接,并查询内容追加到临时表temp_b
最后:只需要查询当前临时表temp_b。
这样做的好处就是,查询只用到一个数据ADOQuery,所有的记录集都保存其中。关联DBchar 和 DBGrid都比较处理。我正在做的一个项目中有根据查询结果排序功能,这种方式直接使用ADOQuery的Sor属性。数据要绘制曲线 直接关联DBchar即可轻松完成。
部分源码如下:
// 打开含有链接表的数据库
l_cat := CreateOleObject('ADOX.Catalog');
l_cat.ActiveConnection :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + MyPath + 'empty.mdb';
TblCount := l_cat.Tables.Count;
for i := TblCount - 1 downto 0 do
begin //删除原有连接
l_tbl := l_cat.Tables[i];
if l_tbl. Type = 'LINK' Then
l_cat.Tables.Delete(i);
end;
F:=FindTempB(); //查询是否存在临时表temp_b
if F=0 then CreatTemp_b()
else if F>0 then ClearTemp_b();
i := 0;
while formatdatetime('yyyy-mm-dd',DayTemp) <= formatdatetime('yyyy-mm-dd', DateTimePicker3.Date) do
begin
i := i + 1;
FileNames := 'S'+ formatDatetime('yyyy-mm-dd',DayTemp)+'.mdb';
if ((FindFirst(MydataPath+FileNames, faAnyFile, Search) = 0)) then
begin
// 创建新的链接信息
l_tbl := CreateOleObject('ADOX.Table');
l_tbl.Name := 'ALink' + inttostr(i); // 链接后的表的名称
l_tbl.ParentCatalog := l_cat;
l_tbl.Properties('Jet OLEDB:Remote Table Name') := combobox2.Text;
l_tbl.Properties('Jet OLEDB:Link Datasource'):= MydataPath + FileNames;
l_tbl.Properties('Jet OLEDB:Create Link') := true;
l_cat.Tables.Append(l_tbl); // 添加连接表
l_tbl := unassigned; // 追加记录
ADObatpara := TADOQuery.Create(nil);
ADObatpara.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+MyPath + 'empty.mdb'+';Persist Security Info=False';
ADObatpara.Active := false;
ADObatpara.SQL.Clear;
ADObatpara.SQL.TEXT:= 'INSERT INTO temp_b SELECT * FROM ALink' + inttostr(i) + ';';
ADObatpara.ExecSQL; // 查询当前数据库表 并将内容追加到 temp_b
ADObatpara.close;
ADObatpara.Free;
end
else finder :=false;
DayTemp := IncDay(DayTemp,1);
end;
- delphi 中access数据库实现多库连接查询
- Delphi连接access数据库
- delphi 如何连接 数据库ACCESS
- DELPHI中操作ACCESS数据库
- DELPHI中操作ACCESS数据库
- DELPHI中操作ACCESS数据库
- Delphi 连接 有密码的 Access数据库
- Delphi连接Access数据库图文教程(1)
- delphi连接access数据库的步骤(简介)
- asp中连接Access数据库并实现增删该查
- 2.0中 Access数据库 连接
- c#中连接Access数据库
- VB中,连接ACCESS数据库
- Delphi 动态连接ACCESS数据库,不需要设置ConnectionString 1
- delphi下连接带密码的Access数据库
- delphi连接access数据库的步骤(详细教程)
- 绑定access数据库,asp.net 中 以DropDownList为查询条件 ,前台实现数据查询
- 用ASP实现Access数据库查询
- 二叉树的后续遍历序列
- add Redo logs/dorp redo logs in Physical Standby
- cocos2d 3.2 生成Android项目文件问题 Invalid APP_STL value: c++_static
- 使用GIT进行源码管理——GIT托管服务
- 【转】Android BLE开发之Android手机与BLE终端通信
- delphi 中access数据库实现多库连接查询
- 最短路SPFA+DP+uva10917
- sgu112 高精度(用java水啊水)
- 用集算器解多元一次方程组
- 做程序猿的老婆应该注意的一些事情
- <s:checkboxlist根据action中传来的值默认选中
- 大数四则运算
- CPU指令集介绍
- 关于HTTPSession的问题