?? 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>數(shù)據(jù)庫申請開發(fā)者的指南:從數(shù)據(jù)來源檢索數(shù)據(jù)</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"> 數(shù)據(jù)庫應(yīng)用開發(fā)是 JBuilder 專業(yè)版和企業(yè)版的一個特征。分布式的應(yīng)用開發(fā)是 JBuilder
企業(yè)版的一個特征。</font> </p>
<P> 在一個存儲的過程,一個或以上的 SQL 語句在你的服務(wù)器上在一個單個的地點被包含并且能作為批被運行。 <A
href="file:///C:/ref/dx/com.borland.dx.sql.dataset.ProcedureDataSet.html"><font size="2">ProcedureDataSet </font>
</A>部件使你能夠存取,或提供, 從你已經(jīng)存在的數(shù)據(jù)庫的數(shù)據(jù)存儲過程, 與任何一個 JDBC
過程調(diào)用他們?yōu)檫^程的退出順序或服務(wù)器特定的句法呼叫。對于輸出是一個行的集合的一張 SQL
表格運行一個存儲的過程,你需要下列部件。你能編程地提供這個信息,或通過使用 JBuilder 設(shè)計工具。 </P>
<A
href="file:///C:/ref/dx/com.borland.dx.sql.dataset.Database.html"><font size="2">數(shù)據(jù)庫</font></A>部件包含一個通過JDBC到 SQL 服務(wù)器的數(shù)據(jù)庫連接并且也提供輕量級的事務(wù)操作支持。
<UL>
<LI>
<P><font size="2">ProcedureDataSet</font> 部件提供西相對于SQL數(shù)據(jù)庫的功能性運行存儲的過程 ( 有或沒有參數(shù) )
和存儲源于已執(zhí)行的存儲過程的結(jié)果。 </P>
<LI>
<P><A
href="file:///C:/ref/dx/com.borland.dx.sql.dataset.ProcedureDescriptor.html"><font size="2">ProcedureDescriptor </font>
</A>對象存儲存儲的過程性質(zhì), 包括被查詢的數(shù)據(jù)庫,存儲的過程,退出順序,或過程調(diào)用執(zhí)行,還有任何可選的存儲過程的參數(shù)。
</P></LI></UL>
<P>當(dāng)從 JDBC 數(shù)據(jù)來源提供數(shù)據(jù)時, <font size="2">ProcedureDataSet</font>
有內(nèi)建的功能從存儲過程取數(shù)據(jù),其返回值是一個結(jié)果集的指針。下列 <font size="2">ProcedureDescriptor</font>
對象的性質(zhì)影響存儲過程的執(zhí)行: </P>
<TABLE border=1 width="95%" cellspacing=0 cellpadding=0>
<TBODY>
<TR>
<TH style="background-color: #000080"><font size="2" color="#FFFFFF">性質(zhì)</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">指定什么 數(shù)據(jù)庫 連接對象來運行這個過程。</font> </TD></TR>
<TR>
<TD width="25%"><font size="2">procedure</font> </TD>
<TD><font size="2">引起一個存儲過程被執(zhí)行的,表示存儲過程退出順序或 SQL 語句的一個Java String 類。</font> </TD></TR>
<TR>
<TD width="25%"><font size="2">parameters</font> </TD>
<TD><font size="2">一填充參數(shù)的可選 ReadWriteRow 。這些值能從任何 DataSet 或
ReadWriteRow 獲得.</font> </TD></TR>
<TR>
<TD width="25%"><font size="2">executeOnOpen</font> </TD>
<TD><font size="2">當(dāng)?shù)谝淮伪淮蜷_時,引起 ProcedureDataSet
執(zhí)行過程。這在設(shè)計時送實時的數(shù)據(jù)是有用的。你也可以在運行的時侯啟用它。缺省值是 <STRONG>true </STRONG>.</font>
</TD></TR>
<TR>
<TD width="25%"><font size="2">loadOption</font> </TD>
<TD><font size="2">被定義為讀取數(shù)據(jù)進數(shù)據(jù)集的方法的可選的整型值。選項是:</font>
<OL>
<LI><font size="2">Load All Rows:讀取所有前上方的數(shù)據(jù)。</font>
<LI>
<P><font size="2">Load Rows Asynchronously:引起取 DataSet 的行在一個分開的線程上被施行。這允許
DataSet 被存取并且作為顯示的數(shù)據(jù) QueryDataSet,
那些從正連接的數(shù)據(jù)庫在所取的行。</font> </P>
<LI>
<P><font size="2">Load As Needed:讀取行,當(dāng)他們被需要時。</font> </P>
<LI>
<P><font size="2">Load 1 Row At A Time:當(dāng)需要時讀取并且用當(dāng)前值代替先前的行。在高卷處理批應(yīng)用程序有用。</font>
</P></LI></OL></TD></TR></TBODY></TABLE>
<P>A <font size="2">ProcedureDataSet</font> 能被用來運行存儲過程并且沒有參數(shù)。有參數(shù)的一個存儲過程能從任何 <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>為它的參數(shù)獲得值.節(jié)“ <A
href="file:///C:/My%20Documents/prov_procedure_disc2.html#parameters">例子:
使用Oracle PL/SQL 存儲過程參數(shù) </A>"提供了一個例子。 </P>
<P>使用 <A href="file:///C:/My%20Documents/task_jdbcx.html">Database Pilot
</A>瀏覽并且編輯數(shù)據(jù)庫服務(wù)器特定的計劃對象, 包括表,域,存儲過程定義,觸發(fā),還有索引。要想獲得Database
Pilot上的更多的信息,選擇Tools|Database Pilot 并且參考它的聯(lián)機幫助。 </P>
<P>下列話題的講述包含了存儲過程部件: </P>
<UL>
<LI><A
href="file:///C:/My%20Documents/prov_procedure.html#tutorial">教程:檢索數(shù)據(jù)使用存儲過程</A>
<LI><A
href="file:///C:/My%20Documents/prov_procedure_disc.html#statement">存儲過程的退出順序,
SQL 語句,和服務(wù)器特定過程的調(diào)用</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 參數(shù)存儲過程</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>使用存儲過程檢索數(shù)據(jù)</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> 這本教程顯示出怎么提供數(shù)據(jù)到使用 Jbuilder's UI 設(shè)計者的一個應(yīng)用程序和一個 <font
size="2">ProcedureDataSet</font>
部件。這個例子也表明怎么依附結(jié)果數(shù)據(jù)到一個 <font size="2">JdbTable</font> 和一個 <font
size="2">JdbNavToolBar</font>,實現(xiàn)數(shù)據(jù)的察看和編輯。 </P>
<P> 這本教程所完成的例子可以作為在你的 JBuilder 安裝的 /samples/DataExpress/SimpleStoredProcedure
目錄下的一個完成的工程來得到。在許多服務(wù)器上引用存儲過程的另外的樣品應(yīng)用程序在/samples/DataExpress/ServerSpecificProcedures 目錄下可以得到,并且一件供應(yīng)商的樣品在
/samples/DataExpress/CustomProviderResolver 目錄下是可得到的。 </P><A
name=table_for_tutorial></A>
<p><font size="2" color="#000080"><b>為教程創(chuàng)造表和過程</b></font> </p>
<P>這些步驟運行在 InterBase 服務(wù)器上創(chuàng)造一張表和插入,更新,和刪除操作的一個存儲過程 ( 保證遵循了 <A
href="file:///C:/My%20Documents/ins_installing.html#installIB">“為樣品安裝
InterClient 和 InterBase ” </A>里面的安裝指令) 。這個過程用 InterBase 語言書寫。這些過程將被使用在這節(jié)和 <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 服務(wù)器和 InterServer 應(yīng)該在同一機器上運行, 除非它被關(guān)掉了。
<LI>從菜單選擇 File|Close All來關(guān)閉存在的工程。
<LI>選擇 File|Open 并且打開工程 <font size="2">ProcedureSetUp.jpr</font> , 它位于你的JBuilder 安裝目錄下的
<font size="2">/jbuilder/samples/DataExpress/SimpleStoredProcedure/ProcedureSetup </font>
。如果工程不是可得到的或如果你想探索 CreateProcedures.java 文件,參看章節(jié) <A
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -