📄 jb4-1-8-1.htm
字号:
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
<TITLE></TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<body bgcolor="#fefef2" style="FONT-SIZE: 9pt">
<P><STRONG><FONT
color=#0080FF size=3 >保存来自QueryDataSet的修改
</FONT>
</STRONG>
<hr>
译者名字: stavid(JD019) <br>
邮件地址:<a href="mailto:stavid@163.com">stavid@163.com</a>
<p> <font size="2"> 你能用不同的解析器執行回存到數据源,QueryDataSets用默認的QueryResolver去保存,這個默認的解析器可以被StorageDataSet.resolver的屬性所设定的解析器overridden.當數据被提供給DataSet时.StorageDataSet跟踪所有行的狀態信息(刪除,插入,更新),當被解析返回到數据源,像一個SQL服務器,行的狀態信息被用于決定哪一行在sql表被增加、刪除、还是修改,當被成功解析后,將獲得新的解析狀態(不是RowStatus.UPDATE_RESOLVED,RowStatus.DELETE_RESOLVED,就是RowStatus.INSERT_RESOLVED)<br>
如果StorageDataSet再次被解析,先前解析的將被忽視 ,除非改變已經和上次解析并發.</font></p>
<p><font size="2"> 本主题揭示了由DataExpress软件包所提供的基本解析器的功能。它将在 “查询数据库”中所揭示的原理扩展到解析阶段,在此阶段将修改回存至数据源。</font></p>
<p> <font size="2"> 该教程中的步骤,使用了你从“查询数据库”教程中所创建的文件,或者直接从该教程的完整范例文件开始操作步骤。这些文件位于目录samples\com\borland\samples\dx\QueryProvide下.<br>
<br>
教程“查询数据库”研究了从数据源中获取数据的提供阶段。此教程实例化一个Query DataSet及相关的UI组件,并且将存储在JDataStore上的雇员示例文件中的数据显示出來。在jdbNavToolBar上保存的button能被用于把改變的數据回存到雇員文件中,在下一個主题中,我們加入一個button也能完成基本解析功能, 當定制的button或者toolbar上的save button被點擊,通过使用DataExpress程序包的默认查询解析器,将保存Query DataSet中的修改数据至雇员数据文件中。 <br>
<br>
<font color="#000080"><b>
教程:add a button to save changes from a QueryDataSet</b></font><br>
<br>
如果你喜欢回顾一下已经学过的教程源代码的话,它在JBuilder安装的目录samples\DataExpress\QueryResolver中。运行中的应用程序如图所示</font></p>
<p><img border="0" src="res_query_complete.gif" width="514" height="316"></p>
<p><font size="2">创建这个应用程序: </font></p>
<p><font size="2">
1) 在JBuilder的菜单中,选择File|pen菜单项,进行浏览,找到并打开为教程示例程序“查询数据库”所创建的工程文件。如果还没有完成该教程,可以直接利用完整的工程文件,它位于JBuilder安装路径的目录samples\中。</font></p>
<p><font size="2"><b>
<font color="#FF0000"> </font></b> <b>
<font color="#FF0000">注意</font></b>:在修改这些文件之前,应对它们做备份,因为本书中其他的教程也用“查询数据库”文件来作为起点。</font></p>
<p><font size="2">
2) 在面板中选择Frame文件。</font></p>
<p><font size="2">
3) 從swing面板加一個jbutton组件(Component)設定button's text的property并保存.<br>
<br>
4) 确信jbutton被選擇,然后點擊Events,接著雙擊actionPerformed()方法.這時會從設計面板轉到源碼設計窗口,</font></p>
<p><font size="2">在actionPerformed()方法寫如以下代碼:</font></p>
<p><font size="2"> try {<br>
database1.saveChanges(queryDataSet1);<br>
System.out.println("Save changes succeeded");<br>
}<br>
catch (Exception ex) {<br>
// displays the exception on the JdbStatusLabel if the<br>
// application includes one,<br>
// or displays an error dialog if there isn't <br>
DBExceptionHandler.handleException(ex); }<br>
<br>
<br>
如果你已经对对象实例使用了不同的名称,例如database1,则应相应地替换它们。 </font></p>
<p><font size="2">
5) 在JBuilder的菜单中选择Run|Run菜单项。该应用程序在一个单独的窗口中编译并运行。数据显示在一个网格中,并带有一个Save Change按钮、一个导航器以及一个用来报告当前行位置和列计数的状态条。如果发现有错误,将显示出一个错误面板,用来指明发现错误的行。定制按钮的代码最可能成为错误之源,所以请认真检查上面的代码是否被键入正确。为了运行应用程序,纠正这些以及其他地方是必需的。</font></p>
<p><font size="2">当在运行应用程序时,请注意下列功能: </font></p>
<p><font size="2">
a.使用键盘、鼠标或者导航器在显示网格上的数据中滚动。</font></p>
<p><font size="2">
b.当你进行导航时,状态条也将相应地进行更新。 </font></p>
<p><font size="2"> 你可以调整窗口的大小以显示更多的域,或者通过垂直滚动条进行滚动显示。通过插入、删除和修改数据可以更改表格中所显示的数据。你也可以通过下列一种方法将更改保存到数据库中:</font></p>
<p><font size="2">
. 你所创建的Save Change按钮。</font></p>
<p><font size="2">
. JdbNavToolBar的S a v e按钮。</font></p>
<p><font size="2"><font color="#FF0000">
<b> </b></font> <font color="#FF0000">
<b>注意</b></font>:因为雇员表中的数据约束依赖于你所修改的数据,保存操作也许不会成功。因为其他编辑也会返回错误,所以直到你对此表的约束已经非常熟悉之前,最好只对现有行的FIRST_NAME和LAST_NAME字段的数值进行修改。<br>
更多的信息,请参阅位"Customizing the default resolver logic"部分</font></p>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -