<x:updateRow>

x:updateRow 動作用來根據 x:select 動作產生的結果集中的列更新資料庫。實際執行的資料庫作業可能是更新或插入,這會隨著結果集中的列原來是從資料庫中提取而來,或是 x:insert 動作所新增至結果集中的空列,而有所不同。

x:select 動作所參照的相同連線資訊也會用於 x:updateRow 動作。

依預設,這個動作會更新現行列。不過,請參閱下面的列屬性說明,以瞭解更新其他列的用法。 如果要更新的列不是現行列,現行列的任何變更都會先套用至資料庫。 在動作之後,更新的列就會成為現行列。

語法

<x:updateRow	 	name = "target bean name"
 				row = "rowNumber">
  	<x:column 		colName = "name"
  				index = "number"
  				value = "value"
 				nullToken = "string" />
 </x:updateRow>
    OR:
    <x:updateRow	
			 	name = "target bean name"
 				row = "rowNumber" />  

x:updateRow 動作有下列屬性:

name
含有要更新的結果集之 Select 的名稱。 這個值會區分大小寫,且必須符合在範圍內的 Select 動作。 除非動作(直接或間接)是在已指定了 name 屬性的 x:repeat 主體內,否則便需要這個屬性。在這個情況下,name 屬性的預設值是最接近的含括的 x:repeat 中所指定的相同值。
row
要更新的列號。 (1 值指第一列。) 這個屬性是選用的。 如果沒有指定的話,預設值會隨著這個動作是否在指定了 over="rows" 的 x:repeat 主體內而不同。如果是如此,就會使用該 x:repeat 的索引變數值。如果不是如此,就會使用結果集的現行列之索引。

x:updateRow 動作的主體中可以有下列標示:

<x:column>
指定直欄應該設的值。

範例

這個範例會以要求參數所傳遞的值來更新結果集的現行列。

<x:updateRow name="select1">
	<x:column colName="EMPNO"
		value='<%= request.getParameter("empno") %>' />
	<x:column colName="EMPNAME"
		value='<%= request.getParameter("empname") %>' />
	<x:column colName="COMMISSION"
		value='<%= request.getParameter("empcomm") %>' />
</x:updateRow>

這個範例會以要求參數所傳遞的值來更新結果集的每一列。

<x:repeat name="select1" over="rows" index="rowNum">
<x:updateRow>
		<x:column colName="EMPNO"
		   value='<%= request.getParameter("empno"+rowNum) %>' />
		<x:column colName="EMPNAME"
		   value='<%= request.getParameter("empname"+rowNum) %>' />
		<x:column colName="COMMISSION"
		   value='<%= request.getParameter("empcomm"+rowNum) %>' />
	</x:updateRow>
	</x:repeat>
使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.