DELPHI基础教程:Delphi客户服务器应用开发(三)[4]

DELPHI基础教程:Delphi客户服务器应用开发(三)[4],第1张

  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

  配置SQL环境

 与你的BDE应用程序一起安装的有BDE配置工具(BDECFG EXE) 该工具帮助用户修改他们的应用程序配置 配置参数被存于命名为IDAPI CFG的二进制文件中 当应用程序启动时 将读这个文件 通常该文件在应用安装过程中被置于BDE文件目录中(C:\Program Files\Common\BDE)

 本节描述怎样使用BDE配置工具设置应用程序的SQL环境 一旦配置好BDE应用环境 就可开始联接网络 并访问SQL服务器

 关于怎样使用BDE配置工具的详细介绍 可参见BDE用户指南或按运行BDE配置工具选择Help按钮显示在线帮助

 在开始配置SQL环境前 必须已完成以下工作

 ● 已安装SQL Links软件

 ● 退出所有其它Borland应用程序

 ● 在Windows 中打开应用程序组Borland Delphi

 ● 选择IDAPI配置工具图标 出现配置工作窗口后进入驱动程序管理页

  配置SQL Link驱动程序缺省设置的方法

 SQL Link驱动程序缺省设置是指在BDE配置工具的Drivers页中的参数设置 这些参数在建立新的Alias中使用 Alias是描述网络资源的一组参数的集合 BDE应用使用Alias 联接共享数据库 Alias对于访问局部数据库并不是必要的 但要访问SQL数据库 却是必不可少

 SQL Links驱动程序的缺省设置 是你建立新的Alias 的原型 尽管你在建立Alias后能定制它 但在建立新的Alias前设置相应的缺省设置要来的容易 因为这样建立的每一个Alias将继承这些设置

 要描述驱动程序的缺省设置 要完成以下几项

 ● 将亮条移到驱动程序的入口 驱动程序管理程序显示所有的该驱动程序的配置参数 在参数列表表端可用滚行杠检察各配置参数

 ● 如果需要编辑驱动程序的缺省配置参数 如果光标停在这格 配置工作将自动套用缺省参数

 ● 当完成这些工作 选择File|Save 修改将在应用程序下一次启动时生效

  SQL Links驱动程序的缺省设置项目的含义

  VERSION

 SQL Links驱动程序的版本号

  TYPE

 描述当前驱动程序类型 SERVER就表示该驱动程序用于连接一个SQL服务器 FILE就表示驱动程序用于连接一个标准的基于文件服务器

  DLL选项

 所选SQL Links的 位驱动程序的动态链接库名

  DLL

 所选SQL Links的 位驱动程序的动态链接库名

  DRIVER FIAGS

 内部的产品描述标志

  TRACE MODE

 描述记录跟踪信息的类型

  SERVER NAME

 指定目标SQL服务器名 如果指定为InterBase服务器 将包含数据库文件的全部路径 Servername:/Usr/gds/directoryname/databasenam gdb

  USER NAME

 访问SQL服务器的缺省用户名

  OPENMODE

 OPENMODE是SQL Links打开SQL数据库时的读写模式 取值可以是READ/WRITE或READ ONLY 缺省值是READ/WRITE 把OPEN MODE设为READ ONLY 将影响用户端的操作 但对SQL服务器没有影响

  SCHEMA CACHE SIZE

 描述被贮存视图信息的SQL表个数 取值范围是 缺省值为

  LANGDRIVER

 用来操作来自SQL 服务器的数据的语言驱动程序 当光标停止LANGDRIVER域时 一个滚行框出现在正文域的左侧 用滚行杠可以用于你的驱动程序的可选的语言列表 如使用美国英语 该缺省值是空格

 当描述的语言驱动程序与一个服务器别名相适应 那么你的应用程序将使用该驱动程序处理从服务器发来的数据 这包括你察看的所有表和所有查询返回的结果表 运行在不同系统上的服务器利用字符集的转换来决定怎样对数据编码 如果你操作在非英语环境 你的BDE应用程序可以使用不同于SQL服务器的字符集 如果你的平台上的字符集同SQL服务器上的不匹配 那么在两种不同平台间传递数据将引起下列问题

 ● 数据在你的平台上不正确的显示

 ● SQL数据库上将记录错误的字符

 为防止这种情况的出现 SQL Links提供语言驱动程序 实现你的应用程序的字符集与SQL数据库的字符集的数据转换 这将使从SQL服务器传来的数据在你的平台上正确显示 或将你输入的数据可靠地传送到服务器上

 语言驱动程序包含有关排序和大小写转换的信息 无论何时 对SQL数据库的查询按本地数据库的规则处理应用程序的语言驱动程序用于评测排序的字符范围 如果平台上的排序和大小写转换与SQL服务器上的不同 你的应用程序就会显示不一致的结果

 如果SQL数据库使用扩展字符集 请确信用于访问SQL 服务的别名中描述正确的 SQL Links语言版本选择的驱动程序的字符集应当与SQL服务器的相同 如果你没有找到合适的SQL Links语言驱动 你可修改别名中的SQLQRYMODE入口 防止按局部数据库规则处理查询

  SQLPASSTHRU MODE

 描述应用程序访问SQL服务器时是否借助平台命令和传递式SQL 取值范围和它们的含义列于下表

 表 SQLPASSTHRU MODE设置

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 设置            含 义

 ──────────────────────────────────────

 NOT SHARED    传递SQL和非传递性SQL不共享相同的连接

 SHARED AUTOMIT  缺省值 传递SQL和非传递SQL将共享相同连接 传递式SQL将以与非传递SQL相似的方式动作 也就说用户的传递式SQL表达式将被自动提交

 SHARED NOAUTOMIT 传递式SQL和非传递式SQL将共享同一个连接 但SQL驱动程序并不自动提交SQL表达式 在这种模式下 传递行为是服务器独立的

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 SHARED AUTOMIT和SHARED NOAUTOMIT 模式并不支持所有的传递式表达式 当SHARED AUTOMIT或SHARED NOAUTOMIT模式被设置 在传递式SQL中不需执行事务控制语言 使用你的BDE应用编程语言来开始 提交回送事务 当传递式SQL和非传递式SQL共享一个连接 记录快存并不立即反映传递SQL操作的更新

lishixinzhi/Article/program/Delphi/201311/25134

这个问题所指的技术

无法实现,也就是说没有这样的技术来统一实现某一种或多种不同网盘的数据访问。

有类似

微软的

OneDrive

也就是以前的

SkyDrive

有云端网络文档在线存储编辑技术,可以实现

WORD及EXCEL文档的在线编辑与共享,但是数据库类的存取技术与这类文档显然不同,数据库数据远程存取要依赖于数据服务器才能实现,例如SQLserver

,MySQL、Interbase

这样的数据库服务器。

再来说说

ACCESS

,MS

Office

Access

是一款桌面型数据库,本身它不具备远程服务功能,因此根据无法实现这样的功能。

那么就真的没有办法来实现

ACCESS

的远程访问么?实现上还是有一些办法的,但要依靠架设一个第三方服务器,将这个服务器做为连接

ACCESS

数据库与远程客户端的桥梁,最常用的是

架设微软的

IIS

网站服务器,我们可以利用在IIS服务器上的

ASP

ASPNET

动态服务页面技术来实现

远程

IIS

服务器后端的ACCESS

数据库数据存取。(当然早期还常用到IIS服务器上

RDS

技术实现)--------------------------------建议放弃这种

不符合现实的

的思路,把远程数据存储方案放在

SQLserver

这款成熟的数据服务器上来考虑,减少不必要的思考时间。--------------------------------就这样吧,希望这样的回复对你有用!

SQLD-IBDLL 包含InterBase驱动程序和支持文件的动态链接库SQLINT32DLL

INTRBASE驱动类型 加在配置工具的驱动管理程序中以配置基本的Borland InterBase SQL Link驱动程序

INTRBASE别名类型 加入配置文件的别名以使建立联接SQL服务器数据库的别名

SQLD_IBHLP 配置InterBase驱动程序的帮助文件

READLINKTXT Borland SQL Links for Windows自述文件

INTERBASMSG InterBase消息文件,通常安装上C:\INTERBASCONNECTEXE 测试工作站和InterBase服务器连接情况的工具

REMOTEDLL、 InterBase的支持动态链接库

GDSDLL、GDS32DLL

将InterBase服务器描述 安装过程修改工作站的SERVICES文件以增加用于加入SERVICES文件 InterBase 服务器访问所需的协议描述 ,

如:gds- db3050/tcp

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

软件项目中还应包括TCP/IP接口软件

下表列出的文件给InterBase客户端应用提供访问Winsock11的接口

表188 TCP/IP接口软件

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

文 件 名 描 述

————————————————————————————————

MVWASYNCEXE 异步通信模块

VSLINT TCP/1P传输初始化文件

WINSOCKDLLWindows Socket动态链接库

MSOCKLIBDLL 将Windows Socket调用映射到VSL驱动程序

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

如果TCP/IP产品不是Winsock11兼容,InterBase客户端应用将也可采用其它TCP/1P 驱动程序。InterBase服务器还可支持其它通信协议,如SPX/1PX,NetBeIU等。

4 解决一般的联接问题

如果用SQL Links建立与InterBase服务器的连接有问题可采用下列步骤来分离问题原因:

⑴ 通过Windows ISQL工具测试能否与InterBase服务器联接如果成功,状态信息会出现,并继续步骤⑵。如果不成功,询问数据库管理员。

⑵ 检验InterBase SQL Links 驱动程序是否正确安装。

⑶ 重新安装SQL Links。

⑷ 检查SERVICES,文件中应有行:

gds_db 3050/tcp

如果不能正确安装,就请询问数据库管理员,否则继续步骤⑸。

⑸ 测试底层协议

① 输入TELNET命令,确认TCP库是否正确安装。

如果TCP库正确安装,注册提示符会出现。注册入网检查数据库是否存在。

如果消息是“can't resolve hostname” 出现,检查工作站的HOSTS文件是否有你 的主机名和IP地址的人口。如:1281275012 mis_server

如果用TELNET是成功的,但仍然无法正确联接,则没有正确安装InterBase。请寻求数据库管理员的帮助。

② PING到服务器服务器上,测试InterBase服务器是否正常运行并且为桌面应用可见(如果PING是成功的,消息“servername isalive”被显示)。PING成功但TELNET不成功,则inet daemon可能有问题。如果PING到服务器上不成功,则有网络路径问题,将问题报给网络管理员。

如果底层协议不正常,请询问数据库管理员,否则继续帮助⑹。

⑹ 确认是否有InterBase服务器的访问权,如果有请继续步骤⑺。

⑺ 检查BDE应用程序的InterBase别名是否正确安装。

如果能够直接从工作站上联接,但不能从BDE应用程序中,那么很有可能你的

IDAPI32CFG别名设置有问题。运行BDE配置工具检查InterBase别名。

183 Delphi Client/Server编程

本节介绍如何运用Delphi可视化开发工具和ObjectPascal语言开发Client\Server的数据库应用程序,采用的例子是CSDEMOS。这是Delphi20自带的演示Client\Server开发的例子,它安装在C:\Program Files\Borland\Delphi 20\Demos\DB\CSDemos中(缺省安装)。

本节将包含以下内容:

● 使用TDatabase部件连接SQL服务器

● 用DataSet部件(又称数据集部件),如TTable和TQuery,联接TDatabase部件并访问数据库以及各种表之间如何切换

● 使用数据库连接

● 触发器的使用方法

● TStoredProc部件的使用方法

● 客户和服务器之间的事务控制

● TStoredProc部件的使用方法

1831 使用TDatabase部件联接SQL服务器

18311 TDatabase部件概述

TDatabase部件处理应用程序与单个数据库的联接。如果不需要控制数据库联接,可以不用创建TDatabase部件。当应用程序试图打开数据库表(Table)时,会自动创建一个临时的TDatabase部件。但如果你想控制数据库的持续联接、进入数据库服务器的注册和数据库别名的值或事务控制,那么你就必须为每个所需的联接创建一个TDatabase部件。

1 创建TDatabase部件

TDatabase 部件在Component Palette中的Data Access页上,你能将其拖放在数据模块(Data module)或窗体中。在设计时创建TDatabase 部件,用户可以设置初始值和编写OnLogin事件处理过程(Event Handle)。OnLogin事件给用户提供了第一次注册数据库服务器时定制服务器安全参数,如口令,的能力。

2 TDatabase的关键属性

⑴ DatabaseName属性

DatabaseName是所要联接的数据库名,并且用于DataSet软件,它将出现在DataSet部件的DatabaseName属性的下拉式列表框中。设置DataBaseName属性是定义数据库应用的特定别名。DataSet部件能引用该名字以取代直接使用BDE别名。当TDatabase部件的Connected属性为True时不能修改该属性。

⑵ AliaName属性

AliasName是BDE配置工具定义的BDE别名的名字。TDatabase 从中获取其缺省的设置。如果设置DriveName属性,则该属性将被清除,如果当Connected为True时强行设置DriveName属性将引发异常。

⑶ DriveName属性

DriveName是BDE驱动程序,如STANDARD 、ORACLE、SYBASE、INFORMIX或INTERBASE的名字。如果设置AliasName,则该属性值将被清除。

⑷ Params属性

Params属性包含了打开SQL服务器上数据库时所需的参数。在缺省情况下,这些参数由BDE配置工具设置;用户也可以用数据库参数编辑器(Database Parameters Editor)修改这些参数。对于数据库服务器而言,Params将描述一系列的参数,如服务器名、 数据库名、用户名和口令。

⑸ Connected属性

Connected属性指明是否建立数据库的联接,当应用程序打开数据库中的一个表时Connected将被置为True;反之,关闭数据库表,Connected将被置为False,除非KeepConnection为True。而将Connected置为True则可不需打开数据库表即可建立数据库联接。TDatabase的KeepConnection属性描述当数据库中没有表打开时是否维持数据库联连。

⑹ KeepConnection属性

KeepConnection属性描述当数据库中没有打开表时是否要保持与服务器的联连, 如果数据库应用需要打开和关闭单个数据库中的多个表时,将KeepConnection 设置为True是很有用的,那样,即使没有打开任何表,应用仍能保持与数据库的联接,它能够重复地打开和关闭数据库表,而不需要重复执行联接过程。如果KeepConnection置为False,当每次将Connected置为True,数据库都必须执行注册过程。

⑺ LoginPrompt属性

LoginPrompt属性用于控制如何处理SQL数据库的安全性问题。如置为True,当应用程序试图建立数据库联接时屏幕上将出现标准Delphi注册对话框。用户必须输入正确的用户名和口令。如果置为False,则应用程序将寻找TDatabase部件的Params 属性中的注册参数。下面是USERNAME和PASSWORD参数的例子:

USERNAME = SYSDBA

PASSWORD = masterkey

⑻ TransIsolation属性

TransIsolation属性描述SQL服务器所有的事务控制独立级别。 tiDirtyRead使所有修改都被返回,而不管记录是否已被提交。tiReadCommitted将只返回提交的记录,而提交的修改将不会在结果中反映出来。tiRepeatableRead 将只返回事务过程中最初的记录,即使另一个应用程序将所作的修改提交。

各种数据库服务器可能不同程度地支持这些独立级别,或者根本不支持。 如果需要的独立级别不被服务器支持,那么Dephi将使用下一个更高的独立级别,如下表所示:

表1810 各类服务器TransIsolation设置

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

独立级别 Oracle Sybase和 InterBase

Microsoft SQL

——————————————————————————————————————

Dirty Read Read Committed Read Committed Read Committed

Read Committed Read Committed Read Committed Read Committed

Repeatable read Repeatable read Not Supported Repeatable Read

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

各个独立级别的含义请见表1812。

3 TDatabase的关键方法

⑴ StartTransaction方法

StartTransartion方法在由TaransIsolation属性指定的独立级别下开始事务控制。如果在一个事务已被激活的情况下调用该方法,Delphi将引发异常。

调用了该方法后,对数据库所做的修改一直由数据库服务器维持到调用Commmit方法提交数据或调用Rollback方法取消修改为止。只有当联接数据库服务器时,才能调用该方法。

⑵ Rollback方法

Rollback方法返转当前事务控制,并且取消自最近一次调用StartTransaction以来对数据库所做的所有修改。

⑶ Commit方法

Commit方法提交当前事务控制,并且将自最近一次调用StartTransaction以来所有数据修改存入数据库。

4 TDatabase的OnLogin事件的处理

OnLogin事件的触发条件是当联接SQL数据库的TDatabase部件被打开并且LoginPrompt属性为True。使用OnLogin事件处理过程可以在运行时设置注册参数。OnLogin 事件处理过程得到TDatabase的注册参数数组Params,并且使用Values属性改变这些参数。

例如:

LoginParamsVaiues['SERVERNAME'] := 'MYSERVERNAME';

LoginParamsValues['USER NAME'] := 'MYUSERNAME';

LoginParamsValues[PASSWORD'] := 'MYAPSSWORD';

当控制从OnLogin事件处理过程中返回时,应用程序用这些参数来建立联接。

OnLogin事件处理过程的声明是这样的:

TLoginEvent = procedure(Database: TDatabase;LoginParam: TStrings) of Object;

property OnLogin: TLoginEvent;

TLoginEvent类型是处理OnLogin事件的方法头。Database参数是要联接的数据库。LoginParams是TStrings类型的对象,包含用户名和口令,以及打开数据库时所用的其它参数。用户名是形如USER NAME = JohnDoe的字符串,口令是形如PASSWORD = is_Password的字符串。当OnLogin事件处理过程被调用时应当在LoginParams中加入用户名和口令。

18312 定制数据库服务器的注册参数

大多数数据库服务器都包含限制数据库访问的安全特征。通常,在用户能访问数据库之前,服务器都要求注册的用户名和口令。

如果服务器需要注册,在设计阶段,Delphi 会在你试图联接时提示你,诸如在会TTable部件描述数据库表名时。

在缺省情况下,Delphi应用在打开数据库服务器的联接时,显示标准注册对话框。如果联接已建立,则注册对话框不会出现。

可以用下列方法处理服务器注册:

1 将TDatabase部件的LoginPrompt属性置为True。这样,当应用程序试图建立数据库联接时,标准注册对话框会打开。

2 将LoginPrompt属性置为False,在TDatabase部件的Params属性中包含用户名和口令参数。例如:

USERNAME = SYSDBA

PASSWORD = mosterkey

但不推荐使用该方法,因为这会危害数据库安全

3 使用TDatabase部件的OnLogin事件设置注册参数。OnLogin事件得到TDatabase 注册参数数组的拷贝,并利用Values属性改变这些参数。如:

LoginParamsValues['SERVER NAME']:= 'MYSERVERNAME';

LoginParamsValues['USER NAME'] :='MYUERNAME';

LoginParamsValues['PASSWORD'] := 'MYPASSWORD';

当控制从数据库注册事件处理过程中返回时,这些参数被用来建立联接。

18313 建立应用程序特定的别名

TDatabase的Aliases描述了数据库表的位置和数据库服务器的联接参数。通常都是在Delphi之外,运用BDE配置工具(BDECFG32EXE)创建别名,并且别名被存在BDE 配置文件IDAPI32CFG中。

用户也可以用TDatabase创建只在应用程序中可用的别名,用TDatabase创建的别名不会加进BDE配置文件中。任何DataSet部件可通过描述DatabaseName 属性来使用这些别名。为了定制这些局部别名的参数,用鼠标左键双击TDatabase部件或从TDatabase部件中选择Database Editor,Delphi就会打开数据库属性编辑器(Database Properties Editor)。

这只是其中一部分

更多的请点网址 http://hibaiducom/cloudinsky88/blog/item/451219593f31e2292834f03chtml

php支持的数据库有很多噢,下面列举一下!

MySQL

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

MsSql

ms SQL是指微软的SQLServer数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。

Oracle

oracle是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Access

Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。

PostgreSQL

PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,42版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。

InterBase

InterBase是一种关系数据管理系统(Relational database management system RDBMS),它提供了在单机或多用户环境中的快速数据处理及共享的工具。InterBase的核心是提供透明的多机种支持的网络运行服务器技术。InterBase是可以在Windows 95、Windows NT、Novell NetWare及多种UNIX操作系统上运行的工具。

CUBRID

CUBRID是一个全面开源,且完全免费的关系数据库管理系统。

dBase

dBase是第一个在个人电脑上被广泛使用的单机版数据库系统。

Firebird/InterBase

Firebird特性介绍firebird是一个全功能的,强大高效的,轻量级,免维护的数据库。

IBM DB2

IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统

Informix

Informix是IBM公司出品的关系数据库管理系统(RDBMS)家族。

MaxDB

MaxDB是一种企业级数据库管理系统。

MongoDB

MongoDB 是一个基于分布式文件存储的数据库。

mSQL

mSQL(mini SQL)是一个单用户数据库管理系统,个人使用免费,商业使用收费。由于它的短小精悍,使其开发的应用系统特别受到互联网用户青睐。

SQLite

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。

SQLSRV

SQL Server(SQLSRV )是由Microsoft开发和推广的关系数据库管理系统(RDBMS)。

Sybase

美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。

tokyo_tyrant

一个可持久化数据的,好处是速度不错,而且大至兼容Memcached的文本协议,客户端可以继续使用SpyMemcached。

希望对你有帮助,谢谢采纳!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » DELPHI基础教程:Delphi客户服务器应用开发(三)[4]

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情