Table通过数据库名属性DatabaseName将数据库表格名TableName两个属性与数据库中的数据表格发生联系。DataSource通过Dataset属性与数据表取的联系,通过Combobox选项卡,选取数据库,弹出Login对话框,输入指定的用户及密码,将表内容在DBgrid中显示,该页面调用了Tsession方法,在建立页面的函数中代码显示如下:
procedure TForm3.FormCreate(Sender: TObject);
begin
with combobox1 do
begin
combobox1.Items.Clear;
session.GetAliasNames(items);
text:=items[0];
end;
Tsession组件中的GetAliasNames方法获取数据库别名的
列表,然后在Combobox中列出。若用户名密码输入正确,则显示如下:
其中最主要的查询功能,按钮代码为:
procedure TForm3.Button1Click(Sender: TObject);
begin
with table1 do
begin
close;
indexname:='str2';
if findkey([edit1.Text])then
label4.Caption:='查找成功!';
end;
调用了Table组件的FindKey方法在数据集中查询记录,前提是DataSet保持打开状态,不然会出现"DataSet is closed"的错误。
(3) 客户端系统
Delphi7中支持多层分布式数据库开发,利用DataSnap的支持,有三种客户端数据获取方式,分别是DCOM、TCP/IP和HTTP。在逻辑上可划分为:客户机应用程序、应用服务器和远程数据服务器。它们可以分布在网络中不同的计算机中,也可以配置在同一台计算机中。从本质上来说,数据库服务器都是一样的。Delphi7中依靠一个功能强大的远程数据模块,可以顺利和3种访问方式接口,不同的只是客户端实现的方式不同。本系统采用较为广泛的TCP/IP协议来实现多层分布式数据库的功能实现。
在应用服务器端运行Socket服务器代理ScktSrvr。窗体设置如下组件:TDataSource、TClientDataSet、TsocketConnection和TDBGrid,更改组件属性,SocketConnection的Address属性中,输入应用服务器的地址,也就是想连接的数据库服务器对应的IP地址,再设置ServerName,选择好我们建立的Socket连接,这样数据库连接就配置好,把Connected属性设为True,应用服务器就启动并将数据显示在客户TDBGrid组件上,经过编译、链接并执行程序。
通过指针选择需要改变字段的行,可以修改对应的字段属性,完成存储的过程。
4结束语
本文是在Delphi7所提供的环境下,对Oracle数据库进行系统管理的一个简单实现过程,还存在许多不足和进一步完善的地方,主要有:
1) 由于本次系统处理的数据量较小,在处理大批量数据时,Delphi平台可能会因其存在着不稳定性,造成数据库调用效率下降。
2) 目前只支持四种图像格式的显示,下一步还需要在图像兼容性上面进一步改进。
3) 客户端模式必须依赖于Socket服务器代理,这会在没有装Delphi的客户端口上造成不便。这些都是下一步研究工作的方向
参考文献
[1] 张畅,刘强,戴昌礼,等. 大规模影像数据库[J]. 测绘科学. 2010(3): 208-209.
[2] 王爱玲,李京,刘素红,等. 多尺度遥感影像数据库管理[J]. 计算机工程与应用. 2007(3): 227-229.
[3] 郑浩,张蔚,刘继东. 基于SQL Server数据库的遥感影像数据存储的策略与方法[J]. 测绘技术装备. 2006(1): 22-24.
[4] 李宗华,彭明军. 基于关系数据库技术的遥感影像数据建库研究[J]. 武汉大学学报(信息科学版). 2005(2): 166-169.
[5] 王连备,吴云东. 基于ORACLE数据库的遥感影像存储技术[J]. 测绘学报. 2002(4): 258-261.
[6]吴文龙,陆正中,Delphi程序设计教程.中国铁道出版社.