PGSQL_FilteredRowSet1
Complete Code : PGSQL_FilteredRowSet1.txt
  • Imports :
    • import javax.sql.rowset.FilteredRowSet;
    • import com.sun.rowset.FilteredRowSetImpl;
    • import javax.sql.rowset.Predicate;
    • import jdk.nashorn.internal.codegen.types.Range;

Create Script:

-- Table: pgsvisitor1b

-- DROP TABLE pgsvisitor1b;

CREATE TABLE pgsvisitor1b
(
id numeric(3,0) NOT NULL,
fname character varying(30),
lname character varying(30),
age numeric(2,0),
CONSTRAINT pk_v1b PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
ALTER TABLE pgsvisitor1b
OWNER TO postgres;

 

Insert Script :

INSERT INTO pgsvisitor1b(id, fname, lname, age)VALUES (?, ?, ?, ?);

 

implementing Predicate

Salient Codes:

 String dbURL = "jdbc:postgresql://localhost:5432/pgsdemo1";
String user = "postgres"; String pwd = "postgre_manas9";
String sql1= "Select * from pgsvisitor1b ";
//String user = "manas237"; String password = "pwmanas237";
// Properties param = new Properties();
// connecting to db
try {
c = DriverManager.getConnection(dbURL,user,pwd);
st = c.createStatement();
rs = st.executeQuery(sql1);
ResultSetMetaData metaData = rs.getMetaData();
int numberOfColumns = metaData.getColumnCount();
//int rownum = metaData.
// get name of the columuns
for ( int i = 1; i <= numberOfColumns; i++ )
System.out.printf( "%-4s\t",
metaData.getColumnName( i ) );
System.out.println();
//
//Process.loaddata(rs, numberOfColumns);
//Filetered Row Set
System.out.println( "Filtered Rowset");
FilteredRowSet frs = new FilteredRowSetImpl();
frs.populate(rs);
Process.loadfrwset(frs, numberOfColumns);
//
AgeFilter filter = new AgeFilter(30, 50, 4);

frs.beforeFirst();
frs.setFilter(filter);
System.out.println("\nSetting state filter:");
//
Process.loadfrwset(frs, numberOfColumns)

 

Displaying Results:

public static void loadfrwset(FilteredRowSet x1 , int n2)
throws SQLException
{ int size = 0;
while ( x1.next() )
{
size++;
for ( int i = 1; i <= n2; i++ )
try {
System.out.printf( "%-4s\t", x1.getObject( i ));
} catch (SQLException ex) {
Logger.getLogger(Process.class.getName()).
log(Level.SEVERE, null, ex);
}
System.out.println();
}
//displayMap(list1);
System.out.println("processed rows :: "+ size);
}
}

Output: