• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java TableBuilder类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: createUniqueTable

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
/**
 * Returns a new table with a unique name and the given table definition.
 */
private static Table createUniqueTable(Database db, String name,
                                       List<ColumnBuilder> columns,
                                       ResultSetMetaData md, 
                                       ImportFilter filter)
  throws IOException, SQLException
{
  // otherwise, find unique name and create new table
  String baseName = name;
  int counter = 2;
  while(db.getTable(name) != null) {
    name = baseName + (counter++);
  }
  
  return new TableBuilder(name)
    .addColumns(filter.filterColumns(columns, md))
    .toTable(db);
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:21,代码来源:ImportUtil.java


示例2: x_testCreateIsoFile

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void x_testCreateIsoFile() throws Exception
{
  Database db = create(Database.FileFormat.V2000, true);

  Table t = new TableBuilder("test")
    .addColumn(new ColumnBuilder("row", DataType.TEXT))
    .addColumn(new ColumnBuilder("data", DataType.TEXT))
    .toTable(db);
  
  for(int i = 0; i < 256; ++i) {
    String str = "AA" + ((char)i) + "AA";
    t.addRow("row" + i, str);
  }

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


示例3: testLongValueAsMiddleColumn

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void testLongValueAsMiddleColumn() throws Exception
{
  for (final FileFormat fileFormat : SUPPORTED_FILEFORMATS) {
    Database db = createMem(fileFormat);
    Table newTable = new TableBuilder("NewTable")
      .addColumn(new ColumnBuilder("a").setSQLType(Types.INTEGER))
      .addColumn(new ColumnBuilder("b").setSQLType(Types.LONGVARCHAR))
      .addColumn(new ColumnBuilder("c").setSQLType(Types.VARCHAR))
      .toTable(db);

    String lval = createString(2000); // "--2000 chars long text--";
    String tval = createString(40); // "--40chars long text--";
    newTable.addRow(new Integer(1), lval, tval);

    newTable = db.getTable("NewTable");
    Map<String, Object> readRow = newTable.getNextRow();
    assertEquals(new Integer(1), readRow.get("a"));
    assertEquals(lval, readRow.get("b"));
    assertEquals(tval, readRow.get("c"));

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


示例4: testAutoNumber

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void testAutoNumber() throws Exception 
{
  for (final FileFormat fileFormat : SUPPORTED_FILEFORMATS) {
    Database db = createMem(fileFormat);

    Table table = new TableBuilder("test")
      .addColumn(new ColumnBuilder("a", DataType.LONG)
                .setAutoNumber(true))
      .addColumn(new ColumnBuilder("b", DataType.TEXT))
      .toTable(db);

    doTestAutoNumber(table);

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


示例5: testInsertLongAutoNumber

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void testInsertLongAutoNumber() throws Exception
{
  for (final FileFormat fileFormat : SUPPORTED_FILEFORMATS) {
    Database db = createMem(fileFormat);

    Table table = new TableBuilder("test")
      .addColumn(new ColumnBuilder("a", DataType.LONG)
                .setAutoNumber(true))
      .addColumn(new ColumnBuilder("b", DataType.TEXT))
      .toTable(db);

    doTestInsertLongAutoNumber(table);

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


示例6: testInsertLongAutoNumberPK

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void testInsertLongAutoNumberPK() throws Exception
{
  for (final FileFormat fileFormat : SUPPORTED_FILEFORMATS) {
    Database db = createMem(fileFormat);

    Table table = new TableBuilder("test")
      .addColumn(new ColumnBuilder("a", DataType.LONG)
                .setAutoNumber(true))
      .addColumn(new ColumnBuilder("b", DataType.TEXT))
      .setPrimaryKey("a")
      .toTable(db);

    doTestInsertLongAutoNumber(table);

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


示例7: JackcessDenseObjectMatrix2D

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public JackcessDenseObjectMatrix2D(File file, String tablename, Matrix matrix)
		throws IOException {
	super(matrix.getRowCount(), matrix.getColumnCount());
	try {
		database = DatabaseBuilder.create(FileFormat.V2010, file);

		TableBuilder tb = new TableBuilder(tablename);

		for (int i = 0; i < matrix.getColumnCount(); i++) {
			ColumnBuilder cb = new ColumnBuilder("Column" + i);
			switch (matrix.getValueType()) {
			case DOUBLE:
				cb.setSQLType(Types.DOUBLE);
				break;
			case INT:
				cb.setSQLType(Types.INTEGER);
				break;
			default:
				cb.setSQLType(Types.VARCHAR);
				break;
			}
			tb.addColumn(cb.toColumn());
		}

		table = tb.toTable(database);

		for (int r = 0; r < matrix.getRowCount(); r++) {
			Object[] data = new Object[(int) matrix.getColumnCount()];
			for (int c = 0; c < matrix.getColumnCount(); c++) {
				data[c] = matrix.getAsObject(r, c);
			}
			table.addRow(data);
		}
	} catch (SQLException e) {
		throw new RuntimeException(e);
	}
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:38,代码来源:JackcessDenseObjectMatrix2D.java


示例8: importResultSet

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
/**
 * Copy an existing JDBC ResultSet into a new (or optionally existing) table
 * in this database.
 * 
 * @param name Name of the new table to create
 * @param source ResultSet to copy from
 * @param filter valid import filter
 * @param useExistingTable if {@code true} use current table if it already
 *                         exists, otherwise, create new table with unique
 *                         name
 *
 * @return the name of the imported table
 * 
 * @see Builder
 */
public static String importResultSet(ResultSet source, Database db,
                                     String name, ImportFilter filter,
                                     boolean useExistingTable)
  throws SQLException, IOException
{
  ResultSetMetaData md = source.getMetaData();

  name = TableBuilder.escapeIdentifier(name);
  Table table = null;
  if(!useExistingTable || ((table = db.getTable(name)) == null)) {
    List<ColumnBuilder> columns = toColumns(md);
    table = createUniqueTable(db, name, columns, md, filter);
  }

  List<Object[]> rows = new ArrayList<Object[]>(COPY_TABLE_BATCH_SIZE);
  int numColumns = md.getColumnCount();

  while (source.next()) {
    Object[] row = new Object[numColumns];
    for (int i = 0; i < row.length; i++) {
      row[i] = source.getObject(i + 1);
    }
    row = filter.filterRow(row);
    if(row == null) {
      continue;
    }
    rows.add(row);
    if (rows.size() == COPY_TABLE_BATCH_SIZE) {
      table.addRows(rows);
      rows.clear();
    }
  }
  if (rows.size() > 0) {
    table.addRows(rows);
  }

  return table.getName();
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:54,代码来源:ImportUtil.java


示例9: createTable

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
/**
 * Create a new table in this database
 * @param name Name of the table to create
 * @param columns List of Columns in the table
 * @param indexes List of IndexBuilders describing indexes for the table
 * @deprecated use {@link TableBuilder} instead
 */
@Deprecated
public void createTable(String name, List<ColumnBuilder> columns,
                        List<IndexBuilder> indexes)
  throws IOException
{
  new TableBuilder(name)
    .addColumns(columns)
    .addIndexes(indexes)
    .toTable(this);
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:18,代码来源:DatabaseImpl.java


示例10: testGobalReferenceUsageMap

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void testGobalReferenceUsageMap() throws Exception
{
  Database db = openCopy(
      Database.FileFormat.V2000, 
      new File("src/test/data/V2000/testRefGlobalV2000.mdb"));

  Table t = new TableBuilder("Test2")
    .addColumn(new ColumnBuilder("id", DataType.LONG))
    .addColumn(new ColumnBuilder("data1", DataType.TEXT))
    .addColumn(new ColumnBuilder("data2", DataType.TEXT))
    .toTable(db);


  ((DatabaseImpl)db).getPageChannel().startWrite();
  try {
    List<Object[]> rows = new ArrayList<Object[]>();
    for(int i = 0; i < 300000; ++i) {
      String s1 = "r" + i + "-" + createString(100);
      String s2 = "r" + i + "-" + createString(200);

      rows.add(new Object[]{i, s1, s2});

      if((i % 2000) == 0) {
        t.addRows(rows);
        rows.clear();
      }
    }
  } finally {
    ((DatabaseImpl)db).getPageChannel().finishWrite();
  }

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


示例11: doTestCodecHandler

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
private static void doTestCodecHandler(boolean simple) throws Exception
{
  for(Database.FileFormat ff : SUPPORTED_FILEFORMATS) {
    Database db = TestUtil.create(ff);
    int pageSize = ((DatabaseImpl)db).getFormat().PAGE_SIZE;
    File dbFile = db.getFile();
    db.close();

    // apply encoding to file
    encodeFile(dbFile, pageSize, simple);

    db = new DatabaseBuilder(dbFile)
      .setCodecProvider(simple ? SIMPLE_PROVIDER : FULL_PROVIDER)
      .open();

    Table t1 = new TableBuilder("test1")
      .addColumn(new ColumnBuilder("id", DataType.LONG).setAutoNumber(true))
      .addColumn(new ColumnBuilder("data", DataType.TEXT).setLength(250))
      .setPrimaryKey("id")
      .addIndex(new IndexBuilder("data_idx").addColumns("data"))
      .toTable(db);

    Table t2 = new TableBuilder("test2")
      .addColumn(new ColumnBuilder("id", DataType.LONG).setAutoNumber(true))
      .addColumn(new ColumnBuilder("data", DataType.TEXT).setLength(250))
      .setPrimaryKey("id")
      .addIndex(new IndexBuilder("data_idx").addColumns("data"))
      .toTable(db);

    int autonum = 1;
    for(int i = 1; i < 2; ++i) {
      writeData(t1, t2, autonum, autonum + 100);
      autonum += 100;
    }

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


示例12: testAutoNumberGuid

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void testAutoNumberGuid() throws Exception 
{
  for (final FileFormat fileFormat : SUPPORTED_FILEFORMATS) {
    Database db = createMem(fileFormat);

    Table table = new TableBuilder("test")
      .addColumn(new ColumnBuilder("a", DataType.GUID)
                .setAutoNumber(true))
      .addColumn(new ColumnBuilder("b", DataType.TEXT))
      .toTable(db);

    Object[] row = {null, "row1"};
    assertSame(row, table.addRow(row));
    assertTrue(ColumnImpl.isGUIDValue(row[0]));
    row = table.addRow(13, "row2");
    assertTrue(ColumnImpl.isGUIDValue(row[0]));
    row = table.addRow("flubber", "row3");
    assertTrue(ColumnImpl.isGUIDValue(row[0]));

    Object[] smallRow = {Column.AUTO_NUMBER};
    row = table.addRow(smallRow);
    assertNotSame(row, smallRow);
    assertTrue(ColumnImpl.isGUIDValue(row[0]));

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


示例13: basicEscapingIdentifier

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public static String basicEscapingIdentifier(String name) {
	if (name.startsWith("~"))
		return null;
	String nl = name.toUpperCase();
	if (TableBuilder.isReservedWord(nl) 
			) {
		xescapedIdentifiers.add(nl);
	}
	if(nl.startsWith("X")&&TableBuilder.isReservedWord(nl.substring(1))){
		alreadyEscapedIdentifiers.add(nl.substring(1));
	}
    String escaped = name
					.replaceAll("[/\\\\$%^:-]", "_").replaceAll("~", "M_")
							.replaceAll("\\.", "_").replaceAll("\'", "").replaceAll("#", "_")
			.replaceAll("\"", "").replaceAll("\\+", "").replaceAll("\\(", "_").replaceAll("\\)", "_");
	
	escaped=replaceNoRomanCharacters(escaped);
	
	if (KEYWORDLIST.contains(escaped.toUpperCase())) {
		escaped = "\"" + escaped + "\"";
	}
	if (Character.isDigit(escaped.trim().charAt(0))) {
		escaped = "Z_" + escaped.trim();
	}
	if (escaped.charAt(0) == '_') {
		escaped = "Z" + escaped;
	}
	return escaped.toUpperCase();
}
 
开发者ID:andrew-nguyen,项目名称:ucanaccess,代码行数:30,代码来源:SQLConverter.java


示例14: createTable

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void createTable(String tableName, String[] types, String[] defaults, Boolean[] notNulls)
		throws IOException, SQLException {
	UcanaccessConnection conn = UcanaccessConnection.getCtxConnection();
	Database db = conn.getDbIO();
	TableBuilder tb=new TableBuilder(tableName);
	tb.addColumns(getColumns(tableName, types));
	List<IndexBuilder> arcl=getIndexBuilders(tableName);
	for(IndexBuilder ixb:arcl){
		tb.addIndex(ixb);
	}
	IndexBuilder ibpk = getIndexBuilderPK(tableName);
	
	checkPK(arcl, ibpk);
	if (ibpk != null)
		arcl.add(ibpk);
	
	Table table = tb.toTable(db);
	saveColumnsDefaults(defaults,notNulls, table);
    LoadJet lj=new LoadJet(conn.getHSQLDBConnection(),db);
	lj.loadDefaultValues(table);
	Statement st = null;
	try {
		st = conn.createStatement();
		ResultSet rs = st.executeQuery("SELECT * FROM " + tableName);
		List<String> clns = this.getColumnNames(tableName);
		while (rs.next()) {
			Object[] record = new Object[clns.size()];
			int i = 0;
			for (String columnName : clns) {
				record[i++] = rs.getObject(columnName);
			}
			new InsertCommand(table, record, null).persist();
		}
	} finally {
		if (st != null) {
			st.close();
		}
	}
}
 
开发者ID:andrew-nguyen,项目名称:ucanaccess,代码行数:40,代码来源:Persist2Jet.java


示例15: createTable

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
/**
 * Creates the table in the database.
 * @usage _advanced_method_
 */
public TableImpl createTable(TableBuilder table) throws IOException {

  _name = table.getName();
  _columns = table.getColumns();
  _indexes = table.getIndexes();
  if(_indexes == null) {
    _indexes = Collections.<IndexBuilder>emptyList();
  }

  validate();

  // assign column numbers and do some assorted column bookkeeping
  short columnNumber = (short) 0;
  for(ColumnBuilder col : _columns) {
    col.setColumnNumber(columnNumber++);
    if(col.getType().isLongValue()) {
      _lvalCols.add(col);
      // only lval columns need extra state
      _columnStates.put(col, new ColumnState());
    }
  }

  if(hasIndexes()) {
    // sort out index numbers (and backing index data).  
    for(IndexBuilder idx : _indexes) {
      idx.setIndexNumber(_logicalIndexCount++);
      findIndexDataState(idx);
    }
  }

  getPageChannel().startExclusiveWrite();
  try {
    
    // reserve some pages
    _tdefPageNumber = reservePageNumber();
    _umapPageNumber = reservePageNumber();
  
    //Write the tdef page to disk.
    TableImpl.writeTableDefinition(this);

    // update the database with the new table info
    getDatabase().addNewTable(_name, _tdefPageNumber, DatabaseImpl.TYPE_TABLE, 
                              null, null);

    TableImpl newTable = getDatabase().getTable(_name);

    // add any table properties
    boolean addedProps = false;
    Map<String,PropertyMap.Property> props = table.getProperties();
    if(props != null) {
      newTable.getProperties().putAll(props.values());
      addedProps = true;
    }
    for(ColumnBuilder cb : _columns) {
      Map<String,PropertyMap.Property> colProps = cb.getProperties();
      if(colProps != null) {
        newTable.getColumn(cb.getName()).getProperties()
          .putAll(colProps.values());
        addedProps = true;
      }
    }

    // all table and column props are saved together
    if(addedProps) {
      newTable.getProperties().save();
    }

    return newTable;

  } finally {
    getPageChannel().finishWrite();
  }
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:78,代码来源:TableCreator.java


示例16: testExportToFile

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void testExportToFile() throws Exception
{
  DateFormat df = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
  df.setTimeZone(TEST_TZ);

  for (final FileFormat fileFormat : JetFormatTest.SUPPORTED_FILEFORMATS) {
    Database db = create(fileFormat);
    db.setTimeZone(TEST_TZ);

    Table t = new TableBuilder("test")
      .addColumn(new ColumnBuilder("col1", DataType.TEXT))
      .addColumn(new ColumnBuilder("col2", DataType.LONG))
      .addColumn(new ColumnBuilder("col3", DataType.DOUBLE))
      .addColumn(new ColumnBuilder("col4", DataType.OLE))
      .addColumn(new ColumnBuilder("col5", DataType.BOOLEAN))
      .addColumn(new ColumnBuilder("col6", DataType.SHORT_DATE_TIME))
      .toTable(db);

    Date testDate = df.parse("19801231 00:00:00");
    t.addRow("some text||some more", 13, 13.25, createString(30).getBytes(),
             true, testDate);

    t.addRow("crazy'data\"here", -345, -0.000345, createString(7).getBytes(),
             true, null);

    t.addRow("C:\\temp\\some_file.txt", 25, 0.0, null, false, null);

    StringWriter out = new StringWriter();

    new ExportUtil.Builder(db, "test")
      .exportWriter(new BufferedWriter(out));

    String expected = 
      "some text||some more,13,13.25,\"61 62 63 64  65 66 67 68  69 6A 6B 6C  6D 6E 6F 70  71 72 73 74  75 76 77 78\n79 7A 61 62  63 64\",true," + testDate + NL +
      "\"crazy'data\"\"here\",-345,-3.45E-4,61 62 63 64  65 66 67,true," + NL +
      "C:\\temp\\some_file.txt,25,0.0,,false," + NL;

    assertEquals(expected, out.toString());

    out = new StringWriter();
    
    new ExportUtil.Builder(db, "test")
      .setHeader(true)
      .setDelimiter("||")
      .setQuote('\'')
      .exportWriter(new BufferedWriter(out));

    expected = 
      "col1||col2||col3||col4||col5||col6" + NL +
      "'some text||some more'||13||13.25||'61 62 63 64  65 66 67 68  69 6A 6B 6C  6D 6E 6F 70  71 72 73 74  75 76 77 78\n79 7A 61 62  63 64'||true||" + testDate + NL +
      "'crazy''data\"here'||-345||-3.45E-4||61 62 63 64  65 66 67||true||" + NL +
      "C:\\temp\\some_file.txt||25||0.0||||false||" + NL;
    assertEquals(expected, out.toString());

    ExportFilter oddFilter = new SimpleExportFilter() {
      private int _num;
      @Override
      public Object[] filterRow(Object[] row) {
        if((_num++ % 2) == 1) {
          return null;
        }
        return row;
      }
    };

    out = new StringWriter();

    new ExportUtil.Builder(db, "test")
      .setFilter(oddFilter)
      .exportWriter(new BufferedWriter(out));

    expected = 
      "some text||some more,13,13.25,\"61 62 63 64  65 66 67 68  69 6A 6B 6C  6D 6E 6F 70  71 72 73 74  75 76 77 78\n79 7A 61 62  63 64\",true," + testDate + NL +
      "C:\\temp\\some_file.txt,25,0.0,,false," + NL;

    assertEquals(expected, out.toString());
  }
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:79,代码来源:ExportTest.java


示例17: x_testWriteAllCodesMdb

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void x_testWriteAllCodesMdb() throws Exception
  {
    Database db = create(Database.FileFormat.V2000, true);

//     Table t = new TableBuilder("Table1")
//       .addColumn(new ColumnBuilder("key", DataType.TEXT))
//       .addColumn(new ColumnBuilder("data", DataType.TEXT))
//       .toTable(db);

//     for(int i = 0; i <= 0xFFFF; ++i) {
//       // skip non-char chars
//       char c = (char)i;
//       if(Character.isHighSurrogate(c) || Character.isLowSurrogate(c)) {
//         continue;
//       }
//       String key = toUnicodeStr(c);
//       String str = "AA" + c + "AA";
//       t.addRow(key, str);
//     }

    Table t = new TableBuilder("Table5")
      .addColumn(new ColumnBuilder("name", DataType.TEXT))
      .addColumn(new ColumnBuilder("data", DataType.TEXT))
      .toTable(db);

    char c = (char)0x3041;   // crazy 7F 02 ... A0
    char c2 = (char)0x30A2;  // crazy 7F 02 ... 
    char c3 = (char)0x2045;  // inat 27 ... 1C
    char c4 = (char)0x3043;  // crazy 7F 03 ... A0
    char c5 = (char)0x3046;  // crazy 7F 04 ... 
    char c6 = (char)0x30F6;  // crazy 7F 0D ... A0
    char c7 = (char)0x3099;  // unprint 03
    char c8 = (char)0x0041;  // A
    char c9 = (char)0x002D;  // - (unprint)
    char c10 = (char)0x20E1; // unprint F2
    char c11 = (char)0x309A; // unprint 04
    char c12 = (char)0x01C4; // (long extra)
    char c13 = (char)0x005F; // _ (long inline)
    char c14 = (char)0xFFFE; // removed

    char[] cs = new char[]{c7, c8, c3, c12, c13, c14, c, c2, c9};
    addCombos(t, 0, "", cs, 5);

//     t = new TableBuilder("Table2")
//       .addColumn(new ColumnBuilder("data", DataType.TEXT))
//       .toTable(db);
    
//     writeChars(0x0000, t);

//     t = new TableBuilder("Table3")
//       .addColumn(new ColumnBuilder("data", DataType.TEXT))
//       .toTable(db);
    
//     writeChars(0x0400, t);


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


示例18: testBigInt

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void testBigInt() throws Exception {

    for (final Database.FileFormat fileFormat : SUPPORTED_FILEFORMATS) {
      JetFormat format = DatabaseImpl.getFileFormatDetails(fileFormat)
        .getFormat();

      if(!format.isSupportedDataType(DataType.BIG_INT)) {
        continue;
      }

      Database db = create(fileFormat);

      Table t = new TableBuilder("Test")
        .addColumn(new ColumnBuilder("id", DataType.LONG)
                   .setAutoNumber(true))
        .addColumn(new ColumnBuilder("data1", DataType.TEXT))
        .addColumn(new ColumnBuilder("num1", DataType.BIG_INT))
        .addIndex(new IndexBuilder("idx").addColumns("num1"))
        .toTable(db);

      long[] vals = new long[] {
        0L, -10L, 3844L, -45309590834L, 50392084913L, 65000L, -6489273L};

      List<Map<String, Object>> expectedTable = 
        new ArrayList<Map<String, Object>>();

      int idx = 1;
      for(long lng : vals) {
        t.addRow(Column.AUTO_NUMBER, "" + lng, lng);

        expectedTable.add(createExpectedRow(
                              "id", idx++,
                              "data1", "" + lng,
                              "num1", lng));
      }

      Collections.sort(expectedTable, new Comparator<Map<String, Object>>() {
          public int compare(
              Map<String, Object> r1,
              Map<String, Object> r2) {
            Long l1 = (Long)r1.get("num1");
            Long l2 = (Long)r2.get("num1");
            return l1.compareTo(l2);
          }
        });
      
      Cursor c = new CursorBuilder(t).setIndexByName("idx").toIndexCursor();

      assertCursor(expectedTable, c);

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


示例19: testWriteLongValue

import com.healthmarketscience.jackcess.TableBuilder; //导入依赖的package包/类
public void testWriteLongValue() throws Exception {

    for (final FileFormat fileFormat : SUPPORTED_FILEFORMATS) {
      Database db = createMem(fileFormat);

      Table table =
      new TableBuilder("test")
        .addColumn(new ColumnBuilder("A", DataType.TEXT))
        .addColumn(new ColumnBuilder("B", DataType.MEMO))
        .addColumn(new ColumnBuilder("C", DataType.OLE))
        .toTable(db);

      String testStr = "This is a test";
      String longMemo = createString(2030);
      byte[] oleValue = toByteArray(new File("src/test/data/test2BinData.dat"));


      table.addRow(testStr, testStr, null);
      table.addRow(testStr, longMemo, oleValue);
      table.addRow("", "", new byte[0]);
      table.addRow(null, null, null);

      table.reset();

      Row row = table.getNextRow();

      assertEquals(testStr, row.get("A"));
      assertEquals(testStr, row.get("B"));
      assertNull(row.get("C"));

      row = table.getNextRow();

      assertEquals(testStr, row.get("A"));
      assertEquals(longMemo, row.get("B"));
      assertTrue(Arrays.equals(oleValue, row.getBytes("C")));

      row = table.getNextRow();

      assertEquals("", row.get("A"));
      assertEquals("", row.get("B"));
      assertTrue(Arrays.equals(new byte[0], row.getBytes("C")));

      row = table.getNextRow();

      assertNull(row.get("A"));
      assertNull(row.get("B"));
      assertNull(row.getBytes("C"));

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



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java MainPlayerInventory类代码示例发布时间:2022-05-16
下一篇:
Java Point2D类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap