<x:updateRow>

x:updateRow 操作用来根据使用 x:select 操作生成的结果集中的一行更新数据库。根据结果集中的该行最初是从数据库访存的还是由 x:insert 操作添加至数据库的空行,执行的实际数据库操作可能是更新或插入。

x:select 操作中引用的同一连接信息将用于 x:updateRow 操作。

缺省情况下,此操作更新当前行。请查看下面的 rows 属性的描述,以了解如何更新其他行。如果要更新的行不是当前行,则首先将当前行中的任何更改应用于数据库。操作结束时,更新的行成为当前行。

语法

<x:updateRow	 	name = "target bean name"
 				row = "rowNumber">
  	<x:column 		colName = "name"
  				index = "number"
  				value = "value"
 				nullToken = "string" />
 </x:updateRow>
  或者:
    <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>

反馈