郑州电力高等专科学校 马保立 等
---- 随着Internet/intranet的发展,多层应用和分布式瘦客户数据库应用程序逐渐得到广泛应用。在多层应用的开发方式中,Delphi提供了Midas构件,第三方提供了Asta 、Midware等。经过使用,相比较而言,Asta所提供的构件易学易用方便灵巧,客户端程序无须任何数据库引擎或动态连结库即可方便的实现多层应用,且客户、服务器可实现实时信息传输。可以说,Asta为普通程序员提供了无须专门培训即可成为复杂多层应用程序开发高手的简单途径。
---- 1. 认识Asta
---- 象普通的Delphi构件一样,在Delphi环境下安装Asta即可看到该页标上有AstaClientSocket 、AstaClienDataset 、AstaServerSocket 、AstaDataSet 等构件,其中关键是AstaClientSocket 、AstaClienDataset 、AstaServerSocket。其中,AstaClient由一个AstaClientSocket 和至少一个AstaClienDataset 组成。AstaServer的核心是AstaServerSocket。Database可以是现在流行的任何数据库产品,如Sybase 、Informix 、MS-SQLserver等。
---- 2. 如何实现多层应用
---- Asta本身带有两个例子服务器程序,一个是BDEserver,另一个是ODBCserver。这两个服务器程序设计的很完善,稍加改造(汉化)即可直接使用。我们使用BDE服务器。 本例以Paradox本地数据库为例,说明如何开发客户端软件。
---- 2.1 运行BDE服务器程序,出现数据连结窗口,弹开组合框选择别名BDEDEMOS,确定。
---- 2.2 进入Delphi环境,建立新应用netapp.dpr,窗体上分别放置AstaClientSocket1、AstaClienDataset1。AstaClientSocket1的Adress属性填入服务器程序所在机器的IP地址。若服务器程序在同一台机器上,则IP地址默认为127.0.0.1。Port属性与服务器程序端口一致(若服务器程序未作改动此值为9000,当然也可选用其他数值)。AstaClienDataset1的属性与一般数据表Ttable相同,首先选择DataBasename属性,然后选取tablename。最后把Active 设为true(相当于执行了SQL语句:Select * from [tablename])。本例中tablename选取employee.db。
---- 3. 把结果表现出来
---- 同一般数据库应用程序一样,在窗体上放入Datasource1,其Dataset属性设为AstaClientSocket1,放入DBGrid,其Datasource设为 Datasource1,则简单客户程序就完成了。
---- 运行此程序即可看到数据表格。此客户端程序无须任何动态库即可在客户端运行,是完全的瘦客户。需要注意的是,AstaClientSocket的ConnectAction属性有多种选择,分别规定了客户端到服务器端的连结状况,大家可分别试试看有何结果。至于安全性设置、实时信息传递,可参阅随机帮助文件。