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 操作具有下列属性:
x:updateRow 操作的主体可以带有下列标记:
此示例用请求参数中传送的值更新结果集的当前行。
<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>