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 動作有下列屬性:
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>