博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用Delphi开发Web Services数据库程序 (转)
阅读量:2498 次
发布时间:2019-05-11

本文共 1888 字,大约阅读时间需要 6 分钟。

用Delphi开发Web Services数据库程序 (转)[@more@]

第一步:编写的应用

  首先在的中选择”File|New|Other…”,然后在services页面中选择p Server Application图标,如下图所示:

.NET/develop/article/images/12651_1.jpg" align=absMiddle border=0>

  然后在New Soap Server Application对话框中选择Web App Deger executable,如下图所示:

  点击OK按钮之后,Delphi会自动生成一个WebModule,在这个Module中会包含三个WebServices的,如下图所示:

  然后然后在WebServices页面中选择Soap Server Data Module图标, OK后, Delphi 弹出Soap Data Module Wizard对话框, 如下图所示:

  在Class Name中输入类名:D6DataModule1. 点击OK后, Delphi会自动产生一个SOAP数据模块, 在该模块中加入TdataBase, Tquery, TdataSetProvider, 三个控件, 如下图所示:

  设置各控件的属性,跟以往的Delphi应用程序的设置基本上相同, 其中, TdataSetProvider是一个DataAccess控件, 提供呼叫的支持.:namespace prefix = o ns = "urn:schemas--com::office" />

  编译该应用程序, 使之注册. 完成服务器端的应用.

  第二步:编写客户端的应用程序

  添加一个新的应用程序项目, 在Form窗体中添加TDBNavigator, TDBGrid控件, 如下图所示:

  然后添加一个数据模块, 在其中加入TSaopConnection, TclientDataSet和Tdata控件, 如下图所示:

  其中的TSaopConnection控件就是利用SOAP与远程服务器端相联的接口. 该控件的属性设置如下图所示, TsaopConnection的URL的格式:

http://WebServer的地址/ WebService的应用程序名称/soap/SoapServerDataModule的名称

  然后设置TclientDataSet控件的属性, 设置RemoteServer的属性为TsaopConnection控件的名字, 点选ProviderName.

  接下来, 在窗体所在的单元添加如下代码:

unit Unit4;

interface

uses

  , Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids;

type

  TForm4 = class(TForm)

  DBGrid1: TDBGrid;

  DBNavigator1: TDBNavigator;

  private

  { Private declarations }

  public

  { Public declarations }

  end;

var

  Form4: TForm4;

implementation

  uses Unit5,DB;  //引用DataModule所在单元;

{$R *.dfm}

end.

  设置TDBNavigator,TDBGri控件的DataSource的属性为dmDemo1.dsDemo1, 其中, dmDemo1是数据模块的名字, dsDemo1为数据模块中的TdataSource控件的名字.

  激活TclientDataSet的Active属性为True, Form窗体得到如下的画面.

  编译持行该项目组,把客户端程序复制到上的任一台, 都可执行. 一个Web Services 的数举库应用程序例子完成.

 

参考资料:实战Delphi6/Kylix2:SOAP/Web Service程序设计篇 , 作者:李维

本例的设计思想大多来自该书, 以及一些控件的名字

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10748419/viewspace-1008596/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10748419/viewspace-1008596/

你可能感兴趣的文章
文件拷贝(IFileOperation::CopyItem)
查看>>
MapReduce的 Speculative Execution机制
查看>>
大数据学习之路------借助HDP SANDBOX开始学习
查看>>
Hadoop基础学习:基于Hortonworks HDP
查看>>
为什么linux安装程序 都要放到/usr/local目录下
查看>>
Hive安装前扫盲之Derby和Metastore
查看>>
永久修改PATH环境变量的几种办法
查看>>
大数据学习之HDP SANDBOX开始学习
查看>>
Hive Beeline使用
查看>>
Centos6安装图形界面(hdp不需要,hdp直接从github上下载数据即可)
查看>>
CentOS7 中把yum源更换成163源
查看>>
关于yum Error: Cannot retrieve repository metadata (repomd.xml) for repository:xxxxxx.
查看>>
2020-11-18
查看>>
Docker面试题(二)
查看>>
一、redis面试题及答案
查看>>
消息队列2
查看>>
C++ 线程同步之临界区CRITICAL_SECTION
查看>>
测试—自定义消息处理
查看>>
MFC中关于虚函数的一些问题
查看>>
根据图层名获取图层和图层序号
查看>>