当前位置: 首页>>代码示例>>Java>>正文


Java Cursor类代码示例

本文整理汇总了Java中com.healthmarketscience.jackcess.Cursor的典型用法代码示例。如果您正苦于以下问题:Java Cursor类的具体用法?Java Cursor怎么用?Java Cursor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Cursor类属于com.healthmarketscience.jackcess包,在下文中一共展示了Cursor类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getRelationshipsImpl

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
private List<Relationship> getRelationshipsImpl(
    TableImpl table1, TableImpl table2, boolean includeSystemTables)
  throws IOException
{
  initRelationships();
  
  List<Relationship> relationships = new ArrayList<Relationship>();

  if(table1 != null) {
    Cursor cursor = createCursorWithOptionalIndex(
        _relationships, REL_COL_FROM_TABLE, table1.getName());
    collectRelationships(cursor, table1, table2, relationships,
                         includeSystemTables);
    cursor = createCursorWithOptionalIndex(
        _relationships, REL_COL_TO_TABLE, table1.getName());
    collectRelationships(cursor, table2, table1, relationships,
                         includeSystemTables);
  } else {
    collectRelationships(new CursorBuilder(_relationships).toCursor(),
                         null, null, relationships, includeSystemTables);
  }
  
  return relationships;
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:25,代码来源:DatabaseImpl.java

示例2: collectNewObjectSIDs

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
/**
 * Find collection of SIDs for the given parent id.
 */
private void collectNewObjectSIDs(Integer parentId, List<byte[]> sids) 
  throws IOException
{
  // search for ACEs matching the given parentId.  use the index on the
  // objectId column if found (should be there)
  Cursor cursor = createCursorWithOptionalIndex(
      getAccessControlEntries(), ACE_COL_OBJECT_ID, parentId);
  
  for(Row row : cursor) {
    Integer objId = row.getInt(ACE_COL_OBJECT_ID);
    if(parentId.equals(objId)) {
      sids.add(row.getBytes(ACE_COL_SID));
    }
  }

  if(sids.isEmpty()) {
    // if all else fails, use the hard-coded default
    sids.add(SYS_DEFAULT_SID);
  }
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:24,代码来源:DatabaseImpl.java

示例3: createCursorWithOptionalIndex

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
/**
 * Creates a Cursor restricted to the given column value if possible (using
 * an existing index), otherwise a simple table cursor.
 */
private Cursor createCursorWithOptionalIndex(
    TableImpl table, String colName, Object colValue)
  throws IOException
{
  try {
    return table.newCursor()
      .setIndexByColumnNames(colName)
      .setSpecificEntry(colValue)
      .toCursor();
  } catch(IllegalArgumentException e) {
    if(LOG.isDebugEnabled()) {
      LOG.debug(withErrorContext(
          "Could not find expected index on table " + table.getName()));
    } 
  }
  // use table scan instead
  return CursorImpl.createCursor(table);
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:23,代码来源:DatabaseImpl.java

示例4: checkIndexEntries

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
private static void checkIndexEntries(final TestDB testDB, Table t, Index index) throws Exception
  {
//         index.initialize();
//         System.out.println("Ind " + index);

    Cursor cursor = CursorBuilder.createCursor(index);
    while(cursor.moveToNextRow()) {

      Row row = cursor.getCurrentRow();
      Cursor.Position curPos = cursor.getSavepoint().getCurrentPosition();
      boolean success = false;
      try {
        findRow(testDB, t, index, row, curPos);
        success = true;
      } finally {
        if(!success) {
          System.out.println("CurPos: " + curPos);
          System.out.println("Value: " + row + ": " + 
                             toUnicodeStr(row.get("data")));
        }          
      }
    }
    
  }
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:25,代码来源:IndexCodesTest.java

示例5: x_testReadAllCodesMdb

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
public void x_testReadAllCodesMdb() throws Exception
  {
//     Database db = openCopy(new File("/data2/jackcess_test/testAllIndexCodes.mdb"));
//     Database db = openCopy(new File("/data2/jackcess_test/testAllIndexCodes_orig.mdb"));
//     Database db = openCopy(new File("/data2/jackcess_test/testSomeMoreCodes.mdb"));
    Database db = openCopy(Database.FileFormat.V2000, new File("/data2/jackcess_test/testStillMoreCodes.mdb"));
    Table t = db.getTable("Table5");

    Index ind = t.getIndexes().iterator().next();
    ((IndexImpl)ind).initialize();
    
    System.out.println("Ind " + ind);

    Cursor cursor = CursorBuilder.createCursor(ind);
    while(cursor.moveToNextRow()) {
      System.out.println("=======");
      String entryStr = 
        entryToString(cursor.getSavepoint().getCurrentPosition());
      System.out.println("Entry Bytes: " + entryStr);
      System.out.println("Value: " + cursor.getCurrentRow() + "; " +
                         toUnicodeStr(cursor.getCurrentRow().get("data")));
    }

    db.close();
  }
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:26,代码来源:IndexCodesTest.java

示例6: x_testReadIsoMdb

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
public void x_testReadIsoMdb() throws Exception
  {
//     Database db = open(new File("/tmp/test_ind.mdb"));
//     Database db = open(new File("/tmp/test_ind2.mdb"));
    Database db = open(Database.FileFormat.V2000, new File("/tmp/test_ind3.mdb"));
//     Database db = open(new File("/tmp/test_ind4.mdb"));

    Table t = db.getTable("Table1");
    Index index = t.getIndex("B");
    ((IndexImpl)index).initialize();
    System.out.println("Ind " + index);

    Cursor cursor = CursorBuilder.createCursor(index);
    while(cursor.moveToNextRow()) {
      System.out.println("=======");
      System.out.println("Savepoint: " + cursor.getSavepoint());
      System.out.println("Value: " + cursor.getCurrentRow());
    }
    
    db.close();
  }
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:22,代码来源:IndexCodesTest.java

示例7: testNoEnforceForeignKeys

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
public void testNoEnforceForeignKeys() throws Exception {
  for (final TestDB testDB : TestDB.getSupportedForBasename(Basename.INDEX)) {

    Database db = openCopy(testDB);
    db.setEnforceForeignKeys(false);
    Table t1 = db.getTable("Table1");
    Table t2 = db.getTable("Table2");
    Table t3 = db.getTable("Table3");

    t1.addRow(20, 0, 20, "some data", 20);

    Cursor c = CursorBuilder.createCursor(t2);
    c.moveToNextRow();
    c.updateCurrentRow(30, "foo30");

    c = CursorBuilder.createCursor(t3);
    c.moveToNextRow();
    c.deleteCurrentRow();

    db.close();
  }
  
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:24,代码来源:FKEnforcerTest.java

示例8: persist

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
public IFeedbackAction  persist() throws SQLException {
	try {
		Cursor cur = indexSelector.getCursor();
		cur.beforeFirst();
		Collection<String> columnNames = composite.get(0).getRowPattern()
				.keySet();
		while (composite.size() > 0 && moveToNextRow(cur, columnNames)) {
			Iterator<ICursorCommand> it = composite.iterator();
			while (it.hasNext()) {
				ICursorCommand comm = it.next();
				if (comm.currentRowMatches(cur, this.currentRow)) {
					comm.persistCurrentRow(cur);
					it. remove();
					rollbackCache.add(comm);
					break;
				}
			}
		}
		return null;
	} catch (IOException e) {
		throw new UcanaccessSQLException(e);
	}
}
 
开发者ID:andrew-nguyen,项目名称:ucanaccess,代码行数:24,代码来源:CompositeCommand.java

示例9: persist

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
public IFeedbackAction  persist() throws SQLException {
	try {
		Cursor cur = indexSelector.getCursor();
		if (cur.findNextRow(rowPattern)) {
			if (this.blobColumns != null) {
				for (Column col : this.blobColumns) {
					Object val = cur.getCurrentRowValue(col);
					modifiedRow[tableColumns.indexOf(col)] = val;
				}
			}
			updateComplex(cur );
			cur.updateCurrentRow(modifiedRow);
			
		}
	} catch (IOException e) {
		throw new UcanaccessSQLException(e);
	}
	return null;
}
 
开发者ID:andrew-nguyen,项目名称:ucanaccess,代码行数:20,代码来源:UpdateCommand.java

示例10: getCursor

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
public Cursor getCursor() throws IOException {
	Index idx = getBestIndex();
	Cursor cursor;
	CursorBuilder cb=table.newCursor();
	if (idx == null)
		cursor = cb.toCursor();
	else
		cursor = cb.setIndex(idx).toCursor();
	cursor.setColumnMatcher(new ColumnMatcher());
	return cursor;
}
 
开发者ID:andrew-nguyen,项目名称:ucanaccess,代码行数:12,代码来源:IndexSelector.java

示例11: debugTable

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
private static void debugTable(Table table, SequenceWriter columnCsv) throws IOException {

		System.out.println("\tTable columns for " + table.getName());

		try {
			for (Column nextColumn : table.getColumns()) {
				System.out.println("\t\t" + nextColumn.getName());
				columnCsv.write(Arrays.asList(table.getName() + "." + nextColumn.getName(),
						table.getName() + "." + nextColumn.getName(), "", ""));
			}

			Index primaryKeyIndex = table.getPrimaryKeyIndex();
			System.out.println(
					"\tFound primary key index for table: " + table.getName() + " named " + primaryKeyIndex.getName());
			debugIndex(primaryKeyIndex, new HashSet<>(), columnCsv);

			for (Index nextIndex : table.getIndexes()) {
				if (!nextIndex.getName().equals(primaryKeyIndex.getName())) {
					System.out.println("\tFound non-primary key index for table: " + table.getName() + " named "
							+ nextIndex.getName());
					debugIndex(nextIndex, new HashSet<>(), null);
				}
			}
		} catch (IllegalArgumentException e) {
			System.out.println("No primary key index found for table: " + table.getName());
		}

		Cursor cursor = table.getDefaultCursor();
		int i = 0;
		while (cursor.moveToNextRow()) {
			if (i >= 5) {
				break;
			}
			System.out.println(cursor.getCurrentRow().toString());
			i++;
		}
	}
 
开发者ID:ansell,项目名称:csvsum,代码行数:38,代码来源:AccessMapper.java

示例12: findObjectId

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
public Integer findObjectId(Integer parentId, String name) 
  throws IOException 
{
  Cursor cur = findRow(parentId, name);
  if(cur == null) {  
    return null;
  }
  ColumnImpl idCol = _systemCatalog.getColumn(CAT_COL_ID);
  return (Integer)cur.getCurrentRowValue(idCol);
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:11,代码来源:DatabaseImpl.java

示例13: getObjectRow

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
public Row getObjectRow(Integer parentId, String name,
                        Collection<String> columns) 
  throws IOException 
{
  Cursor cur = findRow(parentId, name);
  return ((cur != null) ? cur.getCurrentRow(columns) : null);
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:8,代码来源:DatabaseImpl.java

示例14: findRow

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
@Override
protected Cursor findRow(Integer parentId, String name) 
  throws IOException 
{
  return (_systemCatalogCursor.findFirstRowByEntry(parentId, name) ?
          _systemCatalogCursor : null);
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:8,代码来源:DatabaseImpl.java

示例15: getTableNamesCursor

import com.healthmarketscience.jackcess.Cursor; //导入依赖的package包/类
@Override
protected Cursor getTableNamesCursor() throws IOException {
  return _systemCatalogCursor.getIndex().newCursor()
    .setStartEntry(_tableParentId, IndexData.MIN_VALUE)
    .setEndEntry(_tableParentId, IndexData.MAX_VALUE)
    .toIndexCursor();
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:8,代码来源:DatabaseImpl.java


注:本文中的com.healthmarketscience.jackcess.Cursor类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。