📄 jb4-1-6.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0130)file://D:\Documents%20and%20Settings\Administrator\Local%20Settings\Temporary%20Internet%20Files\Content.IE5\41M3KDAN\mycache0.htm -->
<!-- saved from url=(0022)http://internet.e-mail --><HTML><HEAD><TITLE>数据库申请开发者的指南:从数据来源检索数据</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<META content=TF name=Author>
<META content="HTML Tidy, see www.w3.org" name=generator><LINK
href="../jbdocs.css" rel=stylesheet type=text/css>
<META content="Microsoft FrontPage 4.0" name=GENERATOR></HEAD>
<BODY bgcolor="#fefef2" style="FONT-SIZE: 9pt"><A name=_top_></A>
<p><FONT
color=#0080FF size=3 ><b>使用存储过程</b></font> </p>
<hr>
<p>
译者名字: chenjn(JD013) <br>
邮件地址:<a href="mailto:chenjn@fulltop.com">chenjn@fulltop.com</a>
</p>
<p><font color="#FF0000"> 数据库应用开发是 JBuilder 专业版和企业版的一个特征。分布式的应用开发是 JBuilder
企业版的一个特征。</font> </p>
<P> 在一个存储的过程,一个或以上的 SQL 语句在你的服务器上在一个单个的地点被包含并且能作为批被运行。 <A
href="file:///C:/ref/dx/com.borland.dx.sql.dataset.ProcedureDataSet.html"><font size="2">ProcedureDataSet </font>
</A>部件使你能够存取,或提供, 从你已经存在的数据库的数据存储过程, 与任何一个 JDBC
过程调用他们为过程的退出顺序或服务器特定的句法呼叫。对于输出是一个行的集合的一张 SQL
表格运行一个存储的过程,你需要下列部件。你能编程地提供这个信息,或通过使用 JBuilder 设计工具。 </P>
<A
href="file:///C:/ref/dx/com.borland.dx.sql.dataset.Database.html"><font size="2">数据库</font></A>部件包含一个通过JDBC到 SQL 服务器的数据库连接并且也提供轻量级的事务操作支持。
<UL>
<LI>
<P><font size="2">ProcedureDataSet</font> 部件提供西相对于SQL数据库的功能性运行存储的过程 ( 有或没有参数 )
和存储源于已执行的存储过程的结果。 </P>
<LI>
<P><A
href="file:///C:/ref/dx/com.borland.dx.sql.dataset.ProcedureDescriptor.html"><font size="2">ProcedureDescriptor </font>
</A>对象存储存储的过程性质, 包括被查询的数据库,存储的过程,退出顺序,或过程调用执行,还有任何可选的存储过程的参数。
</P></LI></UL>
<P>当从 JDBC 数据来源提供数据时, <font size="2">ProcedureDataSet</font>
有内建的功能从存储过程取数据,其返回值是一个结果集的指针。下列 <font size="2">ProcedureDescriptor</font>
对象的性质影响存储过程的执行: </P>
<TABLE border=1 width="95%" cellspacing=0 cellpadding=0>
<TBODY>
<TR>
<TH style="background-color: #000080"><font size="2" color="#FFFFFF">性质</font> </TH>
<TH style="background-color: #000080"><font size="2" color="#FFFFFF">目的</font> </TH></TR>
<TR>
<TD width="25%"><font size="2">database</font> </TD>
<TD><font size="2">指定什么 数据库 连接对象来运行这个过程。</font> </TD></TR>
<TR>
<TD width="25%"><font size="2">procedure</font> </TD>
<TD><font size="2">引起一个存储过程被执行的,表示存储过程退出顺序或 SQL 语句的一个Java String 类。</font> </TD></TR>
<TR>
<TD width="25%"><font size="2">parameters</font> </TD>
<TD><font size="2">一填充参数的可选 ReadWriteRow 。这些值能从任何 DataSet 或
ReadWriteRow 获得.</font> </TD></TR>
<TR>
<TD width="25%"><font size="2">executeOnOpen</font> </TD>
<TD><font size="2">当第一次被打开时,引起 ProcedureDataSet
执行过程。这在设计时送实时的数据是有用的。你也可以在运行的时侯启用它。缺省值是 <STRONG>true </STRONG>.</font>
</TD></TR>
<TR>
<TD width="25%"><font size="2">loadOption</font> </TD>
<TD><font size="2">被定义为读取数据进数据集的方法的可选的整型值。选项是:</font>
<OL>
<LI><font size="2">Load All Rows:读取所有前上方的数据。</font>
<LI>
<P><font size="2">Load Rows Asynchronously:引起取 DataSet 的行在一个分开的线程上被施行。这允许
DataSet 被存取并且作为显示的数据 QueryDataSet,
那些从正连接的数据库在所取的行。</font> </P>
<LI>
<P><font size="2">Load As Needed:读取行,当他们被需要时。</font> </P>
<LI>
<P><font size="2">Load 1 Row At A Time:当需要时读取并且用当前值代替先前的行。在高卷处理批应用程序有用。</font>
</P></LI></OL></TD></TR></TBODY></TABLE>
<P>A <font size="2">ProcedureDataSet</font> 能被用来运行存储过程并且没有参数。有参数的一个存储过程能从任何 <A
href="file:///C:/ref/dx/com.borland.dx.dataset.DataSet.html"><font size="2">DataSet</font></A>或 <A
href="file:///C:/ref/dx/com.borland.dx.dataset.ParameterRow.html"><font size="2">ParameterRow</font>
</A>为它的参数获得值.节“ <A
href="file:///C:/My%20Documents/prov_procedure_disc2.html#parameters">例子:
使用Oracle PL/SQL 存储过程参数 </A>"提供了一个例子。 </P>
<P>使用 <A href="file:///C:/My%20Documents/task_jdbcx.html">Database Pilot
</A>浏览并且编辑数据库服务器特定的计划对象, 包括表,域,存储过程定义,触发,还有索引。要想获得Database
Pilot上的更多的信息,选择Tools|Database Pilot 并且参考它的联机帮助。 </P>
<P>下列话题的讲述包含了存储过程部件: </P>
<UL>
<LI><A
href="file:///C:/My%20Documents/prov_procedure.html#tutorial">教程:检索数据使用存储过程</A>
<LI><A
href="file:///C:/My%20Documents/prov_procedure_disc.html#statement">存储过程的退出顺序,
SQL 语句,和服务器特定过程的调用</A>
<LI> <A
href="file:///C:/My%20Documents/prov_procedure_disc2.html#interbase">例子:使用
InterBase 存储过程</A>
<LI> <A
href="file:///C:/My%20Documents/prov_procedure_disc2.html#parameters">例子:
使用Oracle PL/SQL 参数存储过程</A>
<LI> <A href="file:///C:/My%20Documents/prov_procedure_disc2.html#sybase">使用
Sybase 存储过程</A> </LI></UL>
<hr>
<p><font size="3" color="#000080"><b>使用存储过程检索数据</b></font> </p><!--BNDX="database tutorials:creating stored procedures;tutorials:creating stored procedures"--><!--BNDX="stored procedures:tutorial;SimpleStoredProcedure sample;ProcedureDataSet component:tutorial"--><!--BTUTOR="Tutorial: Retrieving data using stored procedures"-->
<P> 这本教程显示出怎么提供数据到使用 Jbuilder's UI 设计者的一个应用程序和一个 <font
size="2">ProcedureDataSet</font>
部件。这个例子也表明怎么依附结果数据到一个 <font size="2">JdbTable</font> 和一个 <font
size="2">JdbNavToolBar</font>,实现数据的察看和编辑。 </P>
<P> 这本教程所完成的例子可以作为在你的 JBuilder 安装的 /samples/DataExpress/SimpleStoredProcedure
目录下的一个完成的工程来得到。在许多服务器上引用存储过程的另外的样品应用程序在/samples/DataExpress/ServerSpecificProcedures 目录下可以得到,并且一件供应商的样品在
/samples/DataExpress/CustomProviderResolver 目录下是可得到的。 </P><A
name=table_for_tutorial></A>
<p><font size="2" color="#000080"><b>为教程创造表和过程</b></font> </p>
<P>这些步骤运行在 InterBase 服务器上创造一张表和插入,更新,和删除操作的一个存储过程 ( 保证遵循了 <A
href="file:///C:/My%20Documents/ins_installing.html#installIB">“为样品安装
InterClient 和 InterBase ” </A>里面的安装指令) 。这个过程用 InterBase 语言书写。这些过程将被使用在这节和 <A
href="file:///C:/My%20Documents/res_procedure.html#buttontutorial">“教程:使用一个
QueryResolver保存变化 “ </A>还有 <A
href="file:///C:/My%20Documents/res_procedure.html#resolvertutorial">“教程:用一个
ProcedureResolver 保存变化“ </A>里面. </P>
<OL>
<LI>InterBase 服务器和 InterServer 应该在同一机器上运行, 除非它被关掉了。
<LI>从菜单选择 File|Close All来关闭存在的工程。
<LI>选择 File|Open 并且打开工程 <font size="2">ProcedureSetUp.jpr</font> , 它位于你的JBuilder 安装目录下的
<font size="2">/jbuilder/samples/DataExpress/SimpleStoredProcedure/ProcedureSetup </font>
。如果工程不是可得到的或如果你想探索 CreateProcedures.java 文件,参看章节 <A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -