本文整理汇总了Java中javax.sql.rowset.FilteredRowSet.acceptChanges方法的典型用法代码示例。如果您正苦于以下问题:Java FilteredRowSet.acceptChanges方法的具体用法?Java FilteredRowSet.acceptChanges怎么用?Java FilteredRowSet.acceptChanges使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.sql.rowset.FilteredRowSet
的用法示例。
在下文中一共展示了FilteredRowSet.acceptChanges方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testFilter_Update
import javax.sql.rowset.FilteredRowSet; //导入方法依赖的package包/类
public void testFilter_Update() throws Exception {
FilteredRowSet filteredRowSet = newFilterRowSet();
rs = st.executeQuery("SELECT * FROM USER_INFO");
filteredRowSet.populate(rs);
Predicate range = new RangeOne();
filteredRowSet.setFilter(range);
/*
* Update the third row. Filter has no effect here.
*/
assertTrue(filteredRowSet.last());
assertEquals("test4", filteredRowSet.getString(2));
filteredRowSet.updateString(2, "update4");
filteredRowSet.updateRow();
assertEquals("update4", filteredRowSet.getString(2));
// the updated row becomes not visible through filter
assertTrue(filteredRowSet.last());
assertEquals("test3", filteredRowSet.getString(2));
// commit to database
filteredRowSet.acceptChanges(conn);
rs = st
.executeQuery("SELECT COUNT(*) FROM USER_INFO WHERE NAME = 'update4'");
assertTrue(rs.next());
assertEquals(0, rs.getInt(1));
/*
* Remove filter
*/
filteredRowSet.setFilter(null);
assertTrue(filteredRowSet.last());
assertEquals("update4", filteredRowSet.getString(2));
/*
* The forth row isn't updated to database, and it lost it's status
* after acceptChanges().
*/
assertFalse(filteredRowSet.rowUpdated());
}
示例2: testFilter_Delete
import javax.sql.rowset.FilteredRowSet; //导入方法依赖的package包/类
public void testFilter_Delete() throws Exception {
FilteredRowSet filteredRowSet = newFilterRowSet();
rs = st.executeQuery("SELECT * FROM USER_INFO");
filteredRowSet.populate(rs);
/*
* Mark the first row as delete.
*/
assertTrue(filteredRowSet.first());
assertEquals(1, filteredRowSet.getInt(1));
filteredRowSet.deleteRow();
Predicate range = new RangeOne();
filteredRowSet.setFilter(range);
assertTrue(filteredRowSet.first());
assertEquals(2, filteredRowSet.getInt(1));
filteredRowSet.acceptChanges(conn);
rs = st.executeQuery("SELECT COUNT(*) FROM USER_INFO WHERE ID = 1");
assertTrue(rs.next());
assertEquals(1, rs.getInt(1));
/*
* Remove filter
*/
filteredRowSet.setFilter(null);
filteredRowSet.acceptChanges(conn);
rs = st.executeQuery("SELECT COUNT(*) FROM USER_INFO WHERE ID = 1");
assertTrue(rs.next());
assertEquals(1, rs.getInt(1));
/*
* The first row has been deleted from FilteredRowSet. However, it isn't
* deleted from database.
*/
filteredRowSet.setShowDeleted(true);
assertTrue(filteredRowSet.first());
assertEquals(2, filteredRowSet.getInt(1));
}
示例3: testFilter_Insert
import javax.sql.rowset.FilteredRowSet; //导入方法依赖的package包/类
public void testFilter_Insert() throws Exception {
FilteredRowSet filteredRowSet = newFilterRowSet();
rs = st.executeQuery("SELECT * FROM USER_INFO");
filteredRowSet.populate(rs);
Predicate range = new RangeOne();
filteredRowSet.setFilter(range);
/*
* Insert a row. when call updateXXX(), evaluate(Object value, int
* column) is called to check first.
*/
filteredRowSet.afterLast();
filteredRowSet.moveToInsertRow();
filteredRowSet.updateInt(1, 200);
try {
filteredRowSet.updateString("NAME", "test200");
fail("should throw SQLException");
} catch (SQLException e) {
filteredRowSet.updateString("NAME", "insert200");
}
filteredRowSet.insertRow();
filteredRowSet.moveToCurrentRow();
/*
* Although the new row is inserted, it is invalid through
* evaluate(RowSet rs). Therefore, the inserted row is not visible.
*/
filteredRowSet.beforeFirst();
int index = 0;
while (filteredRowSet.next()) {
index++;
assertEquals(index + 1, filteredRowSet.getInt(1));
}
assertEquals(3, index);
/*
* Remove filter. See the inserted row. Then set again, and commit to
* database.
*/
filteredRowSet.setFilter(null);
assertTrue(filteredRowSet.last());
assertEquals(200, filteredRowSet.getInt(1));
assertTrue(filteredRowSet.rowInserted());
filteredRowSet.setFilter(range);
filteredRowSet.acceptChanges(conn);
// check database: the inserted row isn't commited to database
rs = st.executeQuery("SELECT * FROM USER_INFO");
index = 0;
while (rs.next()) {
index++;
assertEquals(index, rs.getInt(1));
}
assertEquals(4, index);
/*
* Remove filter
*/
filteredRowSet.setFilter(null);
filteredRowSet.beforeFirst();
index = 0;
while (filteredRowSet.next()) {
index++;
if (index == 5) {
/*
* Though the new row isn't inserted into database, the inserted
* row lost it's status after acceptChanges().
*/
assertEquals(200, filteredRowSet.getInt(1));
assertFalse(filteredRowSet.rowInserted());
} else {
assertEquals(index, filteredRowSet.getInt(1));
}
}
assertEquals(5, index);
}