The following code example contains three methods in addition to main:
addRow creates a row, fills in the columns, then adds it to the DEPT table.
Key methods: ViewObject.createRow and Row.setAttribute.
deleteRow appends a WHERE clause to the default view of the DEPT table, executes the query, then deletes each row in the result set.
Key method: ViewObject.removeCurrentRow
commitAndShowChanges is a helper method that prints the updated table to the screen.
package d2e;
import oracle.jbo.*;
import oracle.jbo.domain.Number;
public class RowsDemo {
public static void main(String[] args) {
// Helper routine connects to the generic Application Module.
ApplicationModule appMod =
QueryDemo.getGenericAppMod(JboContext.PLATFORM_LOCAL);
// Specify the Java file that defines the VO.
// Format: <package>
String voDefFile = "d2e.DeptView";
// Identify the View Object. Must be a valid Java identifier.
String voName = "demoDeptVO";
// Create the View Object within the context defined
// by the Application Module.
ViewObject vo = appMod.createViewObject(voName, voDefFile);
addRow(appMod, vo);
deleteRow(appMod, vo);
}
public static void addRow(ApplicationModule appMod, ViewObject vo) {
// Create a row and fill in the columns.
Row newRow = vo.createRow();
newRow.setAttribute("Deptno", new Number(14));
newRow.setAttribute("Dname", "Pubs");
newRow.setAttribute("Loc", "Honolulu");
vo.insertRow(newRow);
// Call a helper method.
commitAndShowChanges(appMod);
}
public static void deleteRow(ApplicationModule appMod, ViewObject vo) {
// Get row(s) to delete.
vo.setWhereClause(" deptno > 10 and deptno < 20 ");
// Delete row(s).
vo.executeQuery();
while (vo.hasNext()) {
vo.next();
vo.removeCurrentRow();
}
// Call a helper method.
commitAndShowChanges(appMod);
}
public static void commitAndShowChanges(ApplicationModule appMod) {
// Helper method to print updated table.
try {
appMod.getTransaction().commit();
}
catch (Exception e) {
System.out.println("\n Could not commit changes.");
System.exit(0);
}
// Define and execute a simple SQL statement.
String sqlStr = "select * from dept ";
String dumpClass = "oracle.jbo.server.QueryDumpTab";
String result = appMod.getTransaction().dumpQueryResult(sqlStr, dumpClass, null);
// Print updated table.
System.out.println(result);
}
}
For more information on the dumpQueryResult() method, see Using Transaction Utility Methods.