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