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

 我来答
抛下思念17
2022-11-23 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6578
采纳率:99%
帮助的人:37.7万
展开全部

   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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式