delphi 中,实现客户端与服务器的连接,请问有多少种方法?

delphi 中,实现客户端与服务器的连接,请问有多少种方法?,第1张

1直接TCP/UDP网络连接

2通过web服务器保持连接,通过http/https请求上传下载数据

3通过数据库交换数据

4其他或者可以在共享的网络存储位置(windows共享/nfs/FTP等)上通过交换文件(自定义结构或l或文件型数据库如xml、mdb等)保持数据交换

5以上连接方式一般混合使用,如数据库方式+tcp/udp方式

关于Delphi的意思

 Delphi是Borland公司研制的新一代可视化开发工具,可在Windows3x、Windows95、WindowsNT等环境下使用。它拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi它提供了100多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。主要特点如下: (1)直接编译生成可执行代码,编译速度快。由于Delphi编译器采用了条件编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度更快。在处理速度和存取服务器方面,Delphi的性能远远高于其他同类产品。 (2)支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件 ,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。 (3)提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。利用项目模板和专家生成器可以很快建立项目的构架,然后根据用户的实际需要逐步完善。 (4)具有可重用性和可扩展性。开发人员不必再对诸如标签、按钮及对话框等Windows的常见部件进行编程。Delphi包含许多可以重复使用的部件,允许用户控制Windows的开发效果。 (5)具有强大的数据存取功能。它的数据处理工具BDE(BorlandDatabaseEngine)是一个标准的中介软件层,可以用来处理当前流行的数据格式,如xBase、Paradox等,也可以通过BDE的SQLLink直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。 Delphi既可用于开发系统软件,也适合于应用软件的开发。

如果要实时显示服务器时间,最好先同步服务器时间,然后用timer显示本地时间。

1、获取服务器时间

如果取数据服务器时间,可以用sql取,如oracle的sysdate。。。select sysdate from dual

如果取应用服务器时间,可以在服务器写个远程方法取服务器本地时间 如:now,,然后客户端调用

2、客户端同步服务器时间 uses windows;setsystemtime();

3、timer定时刷新本地时间

  TSoredProc的关键属性

 ⑴ DatabaseName属性

 DatabaseName属性描述要访问的数据库的名字 该属性可以为

 ● 已定义的BDE别名

 ● 本地型数据库的目录

 ● Local InterBase服务器的目录路径和文件名

 ● TDatabase定义的应用程序别名

 在改变DatabaseName之前要使用Close方法将Dataset部件置为非活跃状态

 ⑵ StoredProcName属性

 StoredProcName属性表示服务器上的存储过程名 Oracle服务器允许多个具有相同名字的存储过程 因此要设置Overload属性来描述执行在Oracle服务器上的存储过程名

 ⑶ Overload属性

 Oracle服务器允许Oracle软件包中存储过程的重载 就是说具有相同名字的不同过程 设置Overload属性用来描述执行在Oracle服务器上的存储过程 如果Overload值为零 则假定没有重载 如果Overload为 则Delphi执行具有同名的第一个存储过程 如果值为 则执行第二个存储过程

 ⑷ Params属性

 Params属性包含传给存储过程的参数

  关键方法

 ⑴ ParamByName方法

 声明 function ParamByName(const Value: String) TParam;

 ParamByName方法返回Params属性中具有名为Value的元素值 一般用该方法在动态查询中给参数赋值

 ⑵ Prepare方法

 PrePare方法准备要执行的存储过程 这允许服务器载入存储过程 否则准备处理异常

 ⑶ ExecProc方法

 ExecProc方法执行服务器上的存储过程

 ⑷ Open方法

 Open方法打开DataSet部件 并将其置于浏览状态 这相当于将Active属性置为True 对于TStoredProc如果存储过程返回一个结果集 则使用Open执行存储过程 如果存储过程返回单行 早使用ExecProc执行存储过程

  TStoreProc使用方法

  建立一个StoredProc部件

 为数据库服务器上的存储过程建立一个TStoredProc部件的步骤如下

 ⑴ 从Component Palette的Data Access页选择TStoredProc部件放在数据模块上

 ⑵ 将TStoredProc部件的DatabaseName属性设置为存储过程所在的数据库名

 DatabaseName必须是BDE别名

 ⑶ 将TStoredProc部件的StoredProcName属性设为所用的存储过程名 或者从下拉式

 列表框中选择

 ⑷ 在TStoredProc部件的Params属性中描述输入参数 可以使用参数编辑器来设置输

 入参数 参数编辑器也可让用户察看存储过程返回给应用程序的值

  设置存储过程的输入参数 察看输出结果参数

 许多存储过程需要给它们传入一系列的输入参数 以确定处理什么和怎样处理 在Params属性中描述这些参数 所描述的输入参数的顺序是很重要的 它由服务器上的存储过程来确定 在设计时 最容易和最安全的方法是激活TStoredProc参数编辑器 编辑输入参数 参数编辑器以正确的次序列出输入参数 让你给它们赋值

 要激活TStoredProc的参数编辑器

 ① 选择TStoredProc部件

 ② 按鼠标右键激活加速菜单(Speed Menu)

 ③ 选择Define Parameters

 参数名列表框显示过程的所有输入 输出和结果参数 有关输入 输出参数的信息从服务器中获得 对于某些服务器而方 参数信息是不可访问的 如Sybase 在这种情况下 列表框是空的 因此必须自己按过程要求的顺序增加输入输出参数

 参数类型复选框中描述所选的参数是输入 输出 还是结果参数 如果服务器支持参数可以既是输入又是输出 如果在列表框中增添参数 就必须设置参数类型

 数据类型复选框 列出列表框中所选参数的数据类型 如果给列表框真善美参数 必须设置数据类型

 在值编辑框中给输入参数赋值

 如果服务器不传递存储过程信息给Delphi 则可以用Add按钮给存储过程增添参数 Delete按钮则是将增添的参数删除 Clear按钮将清除列表框中所有参数

 设置完参数后 选择OK按钮

  在运行时建立参数和参数值

 在运行时建立参数 可直接访问Params属性 Params属性是参数字符串的数组 例如 下列代码将编辑框的文本赋给数组的第一个字串

 StaredProc Params[ ] Asstring := Edit Text

 也能够用ParamsByName方法通过名字访问参数

 StoredProc ParamsByName( Company ) Asstring := Edit Text;

  准备和执行存储过程

 要使用存储过程还必须准备并执行它 可以有两种方式准备一个存储过程

 ● 在设计时 通过选择参数编辑器的OK按钮

 ● 在运行时 通过调用TStoredProc的Prepare方法

 例如 下面的代码准备存储过程的执行

 StoredProc Prepare;

 要执行准备好的存储过程 调用TStroedProc部件的ExecProc方法 下列代码演示了准备和执行存储过程

 StoredProc Params[ ] Asstring := Edit Text;

 StoredProc prepare;

 StoredProc ExecProc;

 当你执行一个存储过程 它返回输出参数或结果集 有两种可能的返回类型 单个返回 如单值或值集 和一群结果集 返回很多值

  访问输出参数和结果集

 存储过程在输出参数数组中返回值 如果服务器支持返回值可以是单个结果或者结果集

 在运行时访问存储过程的输出参数 可以索引Params属性或者用ParamByName方法访问这些值 下列表达式都用输出参数设置了编辑框的值

 Edit Text := StoredProc Params[ ] AsString;

 Edit Text := StoredProc ParamsByName( Contact ) AsString;

 如果存储过程返回结果集 则用标准数据相关控制访问和显示值会更有用

 在某些服务器上如Sybase 存储过程能象查询语句那样返回结果集 应用程序可以使用数据相关控制一显示这些存储过程的输出

 用数据相关控制显示存储过程返回结果的方法如下

 ① 将DataSource部件放在数据模块上

 ② 将DataSource部件的DataSet属性设置为接收数据的TStoredProc部件的名字

 ③ 将数据相关控制的DataSource属性设为DataSource部件的名字

 这样 当用于TStoredProc部件和Active属性为True时 数据相关控制就能显示从存储过程返回的结果

  返回目录 DELPHI基础教程

       编辑推荐

       Java程序设计培训视频教程

       J EE高级框架实战培训视频教程

 Visual C++音频/视频技术开发与实战

 Oracle索引技术

 ORACLE G数据库开发优化指南

 Java程序性能优化 让你的Java程序更快 更稳定

 C嵌入式编程设计模式

 Android游戏开发实践指南

lishixinzhi/Article/program/Delphi/201311/25132

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » delphi 中,实现客户端与服务器的连接,请问有多少种方法?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情