Example usage for javax.sql.rowset WebRowSet setKeyColumns

List of usage examples for javax.sql.rowset WebRowSet setKeyColumns

Introduction

In this page you can find the example usage for javax.sql.rowset WebRowSet setKeyColumns.

Prototype

public void setKeyColumns(int[] keys) throws SQLException;

Source Link

Document

Sets this CachedRowSet object's keyCols field with the given array of column numbers, which forms a key for uniquely identifying a row in this CachedRowSet object.

Usage

From source file:com.oracle.tutorial.jdbc.WebRowSetSample.java

public void testWebRowSet() throws SQLException, IOException {
    FileReader fReader = null;/* w w w.  j ava  2s  .  co  m*/
    FileWriter fWriter = null;
    String priceListFileName = "pricelist.xml";
    int[] keyCols = { 1 };
    WebRowSet priceList = new WebRowSetImpl();

    priceList.setUsername(settings.userName);
    priceList.setPassword(settings.password);
    priceList.setUrl(settings.urlString);
    priceList.setCommand("select COF_NAME, PRICE from COFFEES");
    priceList.setKeyColumns(keyCols);

    // Populate the WebRowSet
    priceList.execute();
    System.out.println("Size of the WebRowSet is: " + priceList.size());

    // Insert a new row
    priceList.moveToInsertRow();
    priceList.updateString("COF_NAME", "Kona");
    priceList.updateFloat("PRICE", 8.99f);
    priceList.insertRow();
    priceList.moveToCurrentRow();
    System.out.println("New row inserted");
    System.out.println("Size of the WebRowSet is: " + priceList.size());

    //Delete the row with "Espresso"
    priceList.beforeFirst();
    while (priceList.next()) {
        if (priceList.getString(1).equals("Espresso")) {
            System.out.println("Deleting row with Espresso...");
            priceList.deleteRow();
            break;
        }
    }

    // Update price of Colombian
    priceList.beforeFirst();
    while (priceList.next()) {
        if (priceList.getString(1).equals("Colombian")) {
            System.out.println("Updating row with Colombian...");
            priceList.updateFloat(2, 6.99f);
            priceList.updateRow();
            break;
        }
    }

    int size1 = priceList.size();
    fWriter = new FileWriter(priceListFileName);
    priceList.writeXml(fWriter);
    fWriter.flush();
    fWriter.close();

    // Create the receiving WebRowSet object
    WebRowSet receiver = new WebRowSetImpl();
    receiver.setUrl(settings.urlString);
    receiver.setUsername(settings.userName);
    receiver.setPassword(settings.password);

    //Now read the XML file.
    fReader = new FileReader(priceListFileName);
    receiver.readXml(fReader);
    int size2 = receiver.size();
    if (size1 == size2) {
        System.out.println("WebRowSet serialized and " + "deserialiazed properly");
    } else {
        System.out.println("Error....serializing/deserializng the WebRowSet");
    }
}