java.sql.ResultSet#findColumn ( )源码实例Demo

下面列出了java.sql.ResultSet#findColumn ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: bither-desktop-java   文件: AddressProvider.java
@Override
public int maxHDMAddressPubIndex(int hdSeedId) {
    int maxIndex = -1;
    try {
        PreparedStatement statement = this.mDb.getPreparedStatement("select ifnull(max(hd_seed_index),-1)  hd_seed_index from hdm_addresses where hd_seed_id=?  ", new String[]{
                Integer.toString(hdSeedId)
        });
        ResultSet cursor = statement.executeQuery();

        if (cursor.next()) {
            int idColumn = cursor.findColumn(AbstractDb.HDMAddressesColumns.HD_SEED_INDEX);
            if (idColumn != -1) {
                maxIndex = cursor.getInt(idColumn);
            }
        }
        cursor.close();
        statement.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return maxIndex;
}
 
源代码2 项目: bither-desktop-java   文件: AddressProvider.java
@Override
public List<Integer> getHDAccountSeeds() {
    List<Integer> hdSeedIds = new ArrayList<Integer>();

    try {

        String sql = "select " + AbstractDb.HDAccountColumns.HD_ACCOUNT_ID + " from " + AbstractDb.Tables.HD_ACCOUNT;
        PreparedStatement statement = this.mDb.getPreparedStatement(sql, null);
        ResultSet c = statement.executeQuery();
        while (c.next()) {
            int idColumn = c.findColumn(AbstractDb.HDAccountColumns.HD_ACCOUNT_ID);
            if (idColumn != -1) {
                hdSeedIds.add(c.getInt(idColumn));
            }
        }
        c.close();
        statement.close();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return hdSeedIds;
}
 
源代码3 项目: ormlite-jdbc   文件: JdbcDatabaseConnection.java
@Override
public boolean isTableExists(String tableName) throws SQLException {
	DatabaseMetaData metaData = connection.getMetaData();
	logger.trace("Got meta data from connection");
	ResultSet results = null;
	try {
		results = metaData.getTables(null, null, "%", new String[] { "TABLE" });
		// we do it this way because some result sets don't like us to findColumn if no results
		if (!results.next()) {
			return false;
		}
		int col = results.findColumn(JDBC_META_TABLE_NAME_COLUMN);
		do {
			String dbTableName = results.getString(col);
			if (tableName.equalsIgnoreCase(dbTableName)) {
				return true;
			}
		} while (results.next());
		return false;
	} finally {
		if (results != null) {
			results.close();
		}
	}
}
 
源代码4 项目: bither-desktop-java   文件: HDAccountProvider.java
@Override
public int hdAccountTxCount() {
    int result = 0;
    try {
        String sql = "select count( distinct a.tx_hash) cnt from addresses_txs a ,hd_account_addresses b where a.address=b.address  ";
        PreparedStatement statement = this.mDb.getPreparedStatement(sql, null);
        ResultSet c = statement.executeQuery();
        if (c.next()) {
            int idColumn = c.findColumn("cnt");
            if (idColumn != -1) {
                result = c.getInt(idColumn);
            }
        }
        c.close();
        statement.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return result;
}
 
源代码5 项目: bither-desktop-java   文件: HDAccountProvider.java
@Override
public int getUnspendOutCountByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) {
    int result = 0;
    String sql = "select count(tx_hash) cnt from outs where out_address in " +
            "(select address from hd_account_addresses where path_type =? and out_status=?) " +
            "and hd_account_id=?";
    try {
        PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(pathType.getValue())
                , Integer.toString(Out.OutStatus.unspent.getValue())
                , Integer.toString(hdAccountId)
        });
        ResultSet c = statement.executeQuery();
        if (c.next()) {
            int idColumn = c.findColumn("cnt");
            if (idColumn != -1) {
                result = c.getInt(idColumn);
            }
        }
        c.close();
        statement.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return result;
}
 
源代码6 项目: bither-desktop-java   文件: AddressProvider.java
@Override
public String getHDAccountEncryptSeed(int hdSeedId) {
    String hdAccountEncryptSeed = null;
    try {
        PreparedStatement statement = this.mDb.getPreparedStatement("select " + AbstractDb.HDAccountColumns.ENCRYPT_SEED + " from hd_account where hd_account_id=? "
                , new String[]{Integer.toString(hdSeedId)});
        ResultSet c = statement.executeQuery();
        if (c.next()) {
            int idColumn = c.findColumn(AbstractDb.HDAccountColumns.ENCRYPT_SEED);
            if (idColumn != -1) {
                hdAccountEncryptSeed = c.getString(idColumn);
            }
        }
        c.close();
        statement.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return hdAccountEncryptSeed;

}
 
源代码7 项目: bither-desktop-java   文件: HDAccountProvider.java
@Override
public int hdAccountTxCount() {
    int result = 0;
    try {
        String sql = "select count( distinct a.tx_hash) cnt from addresses_txs a ,hd_account_addresses b where a.address=b.address  ";
        PreparedStatement statement = this.mDb.getPreparedStatement(sql, null);
        ResultSet c = statement.executeQuery();
        if (c.next()) {
            int idColumn = c.findColumn("cnt");
            if (idColumn != -1) {
                result = c.getInt(idColumn);
            }
        }
        c.close();
        statement.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return result;
}
 
源代码8 项目: bither-desktop-java   文件: HDAccountProvider.java
@Override
public int allGeneratedAddressCount(AbstractHD.PathType pathType) {
    int count = 0;
    try {
        PreparedStatement statement = this.mDb.getPreparedStatement("select ifnull(count(address),0) count from "
                        + AbstractDb.Tables.HD_ACCOUNT_ADDRESS + " where path_type=? ",
                new String[]{Integer.toString(pathType.getValue())});
        ResultSet cursor = statement.executeQuery();
        if (cursor.next()) {
            int idColumn = cursor.findColumn("count");
            if (idColumn != -1) {
                count = cursor.getInt(idColumn);
            }
        }
        cursor.close();
        statement.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return count;
}
 
源代码9 项目: bither-desktop-java   文件: AddressProvider.java
@Override
public String getHDMFristAddress(int hdSeedId) {
    String address = null;
    try {
        PreparedStatement statement = this.mDb.getPreparedStatement("select hdm_address from hd_seeds where hd_seed_id=?"
                , new String[]{Integer.toString(hdSeedId)});
        ResultSet cursor = statement.executeQuery();
        if (cursor.next()) {
            int idColumn = cursor.findColumn(AbstractDb.HDSeedsColumns.HDM_ADDRESS);
            if (idColumn != -1) {
                address = cursor.getString(idColumn);
            }
        }
        cursor.close();
        statement.close();
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
    return address;
}
 
源代码10 项目: morf   文件: ResultSetMetadataSorter.java
/**
 * Creates a copy of an {@link Iterable} of columns, where the copy is sorted such that the
 * columns appear in the same order as they do in the supplied {@link ResultSet}.
 *
 * @param columns Columns expected.
 * @param resultSet The result set containing the values.
 * @return The sorted columns.
 */
public static Collection<Column> sortedCopy(Iterable<Column> columns, ResultSet resultSet) {
  Column[] result = new Column[Iterables.size(columns)];
  for (Column column : columns) {
    try {
      result[resultSet.findColumn(column.getName()) - 1] = column;
    } catch(SQLException ex) {
      throw new IllegalStateException("Could not retrieve column [" + column.getName() + "]", ex);
    }
  }
  return Collections.unmodifiableCollection(Arrays.asList(result));
}
 
源代码11 项目: gemfirexd-oss   文件: StatementHelper.java
/**
 * Get the address from a query against an order entry WAREHOUSE, DISTRICT
 * or CUSTOMER table.
 * 
 * @param address Object to fill in
 * @param rs ResultSet already positioned on the current row.
 * @param firstColumnName First column that makes up the address.
 * @throws SQLException
 */
protected Address getAddress(Address address,
        ResultSet rs, String firstColumnName) throws SQLException {
    
    address.clear();

    int col = rs.findColumn(firstColumnName);
    address.setStreet1(rs.getString(col++));
    address.setStreet2(rs.getString(col++));
    address.setCity(rs.getString(col++));
    address.setState(rs.getString(col++));
    address.setZip(rs.getString(col));

    return address;
}
 
源代码12 项目: moql   文件: ResultSetAccessor.java
protected List<Object> getColumn(ResultSet rs, String columnName) {
	List<Object> data = new LinkedList<Object>();
	try {
		int index = rs.findColumn(columnName);
		while(rs.next()) {
			data.add(rs.getObject(index));
		}
		rs.first();
	} catch(SQLException e) {
		throw new OperateException(e);
	}

	return data;
}
 
源代码13 项目: gemfirexd-oss   文件: StatementHelper.java
/**
 * Get the address from a query against an order entry WAREHOUSE, DISTRICT
 * or CUSTOMER table.
 * 
 * @param address Object to fill in
 * @param rs ResultSet already positioned on the current row.
 * @param firstColumnName First column that makes up the address.
 * @throws SQLException
 */
protected Address getAddress(Address address,
        ResultSet rs, String firstColumnName) throws SQLException {
    
    address.clear();

    int col = rs.findColumn(firstColumnName);
    address.setStreet1(rs.getString(col++));
    address.setStreet2(rs.getString(col++));
    address.setCity(rs.getString(col++));
    address.setState(rs.getString(col++));
    address.setZip(rs.getString(col));

    return address;
}
 
源代码14 项目: bither-desktop-java   文件: TxHelper.java
public static Tx applyCursor(ResultSet c) throws AddressFormatException, SQLException {
    Tx txItem = new Tx();
    int idColumn = c.findColumn(AbstractDb.TxsColumns.BLOCK_NO);
    if (idColumn != -1 && c.getObject(idColumn) != null) {
        txItem.setBlockNo(c.getInt(idColumn));
    } else {
        txItem.setBlockNo(Tx.TX_UNCONFIRMED);
    }
    idColumn = c.findColumn(AbstractDb.TxsColumns.TX_HASH);
    if (idColumn != -1) {
        txItem.setTxHash(Base58.decode(c.getString(idColumn)));
    }
    idColumn = c.findColumn(AbstractDb.TxsColumns.SOURCE);
    if (idColumn != -1) {
        txItem.setSource(c.getInt(idColumn));
    }
    if (txItem.getSource() >= 1) {
        txItem.setSawByPeerCnt(txItem.getSource() - 1);
        txItem.setSource(1);
    } else {
        txItem.setSawByPeerCnt(0);
        txItem.setSource(0);
    }
    idColumn = c.findColumn(AbstractDb.TxsColumns.TX_TIME);
    if (idColumn != -1) {
        txItem.setTxTime(c.getInt(idColumn));
    }
    idColumn = c.findColumn(AbstractDb.TxsColumns.TX_VER);
    if (idColumn != -1) {
        txItem.setTxVer(c.getInt(idColumn));
    }
    idColumn = c.findColumn(AbstractDb.TxsColumns.TX_LOCKTIME);
    if (idColumn != -1) {
        txItem.setTxLockTime(c.getInt(idColumn));
    }
    return txItem;

}
 
源代码15 项目: datacollector   文件: JdbcSource.java
private void validateResultSetMetadata(List<ConfigIssue> issues, Source.Context context, ResultSet rs) {
  Set<String> allTables = new HashSet<>();
  try {
    Set<String> columnLabels = new HashSet<>();
    ResultSetMetaData metadata = rs.getMetaData();
    int columnIdx = metadata.getColumnCount() + 1;
    while (--columnIdx > 0) {
      String columnLabel = metadata.getColumnLabel(columnIdx);
      if (columnLabels.contains(columnLabel)) {
        issues.add(context.createConfigIssue(Groups.JDBC.name(), QUERY, JdbcErrors.JDBC_31, columnLabel));
      } else {
        columnLabels.add(columnLabel);
      }
      allTables.add(metadata.getTableName(columnIdx));
    }
    if (!StringUtils.isEmpty(offsetColumn) && offsetColumn.contains(".")) {
      issues.add(context.createConfigIssue(Groups.JDBC.name(), OFFSET_COLUMN, JdbcErrors.JDBC_32, offsetColumn));
    } else {
      rs.findColumn(offsetColumn);
    }
  } catch (SQLException e) {
    // Log a warning instead of an error because some implementations such as Oracle have implicit
    // "columns" such as ROWNUM that won't appear as part of the result set.
    LOG.warn(JdbcErrors.JDBC_33.getMessage(), offsetColumn, query);
    LOG.warn(jdbcUtil.formatSqlException(e));
  }
  tableNames = StringUtils.join(allTables, ", ");
}
 
源代码16 项目: bither-desktop-java   文件: AddressProvider.java
@Override
public int addHDKey(final String encryptedMnemonicSeed, final String encryptHdSeed, final String firstAddress, final boolean isXrandom, final String addressOfPS) {
    int result = 0;
    try {
        this.mDb.getConn().setAutoCommit(false);
        String[] params = new String[]{encryptedMnemonicSeed, encryptHdSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress};
        PreparedStatement stmt = this.mDb.getConn().prepareStatement(insertHDSeedSql);
        if (params != null) {
            for (int i = 0; i < params.length; i++) {
                stmt.setString(i + 1, params[i]);
            }
        }
        stmt.executeUpdate();
        stmt.close();
        if (!hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) {
            addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedMnemonicSeed));
        }
        this.mDb.getConn().commit();
        PreparedStatement statement = this.mDb.getPreparedStatement("select hd_seed_id from hd_seeds where encrypt_seed=? and encrypt_hd_seed=? and is_xrandom=? and hdm_address=?"
                , new String[]{encryptedMnemonicSeed, encryptHdSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress});
        ResultSet cursor = statement.executeQuery();

        if (cursor.next()) {
            int idColumn = cursor.findColumn(AbstractDb.HDSeedsColumns.HD_SEED_ID);
            if (idColumn != -1) {
                result = cursor.getInt(idColumn);
            }

        }
        cursor.close();
        statement.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return result;
}
 
源代码17 项目: ecs-sync   文件: AbstractDbService.java
protected boolean hasColumn(ResultSet rs, String name) {
    try {
        rs.findColumn(name);
        return true;
    } catch (SQLException e) {
        return false;
    }
}
 
源代码18 项目: DBus   文件: OracleMataFetcher.java
@Override
    public List<TableMeta> buildResult(ResultSet rs) throws SQLException {
        List<TableMeta> list = new ArrayList<>();
        TableMeta meta;
        while (rs.next()) {
            meta = new TableMeta();

            meta.setOriginalColumnName(rs.getString("column_name"));
            meta.setColumnName(meta.getOriginalColumnName().replaceAll("[^A-Za-z0-9_]", "_"));

            Integer colId = rs.getInt("column_id");
            meta.setColumnId(colId == 0 ? 9999 : colId);

            //meta.setVersion(rs.getInt("version"));
            meta.setDataType(rs.getString("data_type"));
            meta.setDataLength(rs.getLong("data_length"));
            meta.setDataPrecision(rs.getInt("data_precision"));

            if (SupportedOraDataType.NUMBER.toString().equals(meta.getDataType())) {
                Object scale = rs.getObject("data_scale");
                meta.setDataScale(scale == null ? -127 : Integer.parseInt(scale.toString()));
            } else {
                meta.setDataScale(rs.getInt("data_scale"));
            }

            meta.setNullable(rs.getString("nullable"));
            //meta.setDdlTime(rs.getTimestamp("ddl_time"));
            meta.setIsPk(rs.getString("is_pk"));
            meta.setPkPosition(rs.getInt("pk_position"));
            meta.setCharLength(rs.getInt("char_length"));
            meta.setCharUsed(rs.getString("char_used"));
            meta.setInternalColumnId(rs.getInt("internal_column_id"));
            meta.setHiddenColumn(rs.getString("hidden_column"));
            meta.setVirtualColumn(rs.getString("virtual_column"));
            String defaultValue = rs.getString("data_default");
            if (defaultValue != null) {
                meta.setDefaultValue(defaultValue.trim());
            }

            // 2.X版本没有注释信息
            try {
                rs.findColumn("comments");
                meta.setComments(rs.getString("comments"));
            } catch (SQLException e) {
//            logger.warn("source is 2.X, comments does not exist", e);
            }
            list.add(meta);
        }
        return list;
    }
 
源代码19 项目: bither-desktop-java   文件: HDAccountProvider.java
private HDAccount.HDAccountAddress formatAddress(ResultSet c) throws SQLException {
    String address = null;
    byte[] pubs = null;
    AbstractHD.PathType ternalRootType = AbstractHD.PathType.EXTERNAL_ROOT_PATH;
    int index = 0;
    boolean isIssued = false;
    boolean isSynced = true;
    HDAccount.HDAccountAddress hdAccountAddress = null;
    try {
        int idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS);
        if (idColumn != -1) {
            address = c.getString(idColumn);
        }
        idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.PUB);
        if (idColumn != -1) {
            pubs = Base58.decode(c.getString(idColumn));
        }
        idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.PATH_TYPE);
        if (idColumn != -1) {
            ternalRootType = AbstractHD.getTernalRootType(c.getInt(idColumn));

        }
        idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS_INDEX);
        if (idColumn != -1) {
            index = c.getInt(idColumn);
        }
        idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.IS_ISSUED);
        if (idColumn != -1) {
            isIssued = c.getInt(idColumn) == 1;
        }
        idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.IS_SYNCED);
        if (idColumn != -1) {
            isSynced = c.getInt(idColumn) == 1;
        }
        hdAccountAddress = new HDAccount.HDAccountAddress(address, pubs,
                ternalRootType, index, isIssued, isSynced);
    } catch (AddressFormatException e) {
        e.printStackTrace();
    }
    return hdAccountAddress;
}
 
源代码20 项目: disconf   文件: MapperUtils.java
/**
 * 在rs中获取column字段的typeClass型的值
 *
 * @param rs
 * @param column
 * @param paramClass
 *
 * @return
 *
 * @throws SQLException
 */
public static Object getValue4Type(ResultSet rs, String column, Class<?> typeClass) throws SQLException {

    if (Collection.class.isAssignableFrom(typeClass)) {
        return null;
    }

    try {
        rs.findColumn(column);
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }

    if (typeClass.equals(Integer.class) || typeClass.equals(Integer.TYPE)) {
        return rs.getInt(column);
    }

    if (typeClass.equals(Long.class) || typeClass.equals(Long.TYPE)) {
        return rs.getLong(column);
    }

    if (typeClass.equals(Boolean.class) || typeClass.equals(Boolean.TYPE)) {
        return rs.getBoolean(column);
    }

    if (typeClass.equals(Float.class) || typeClass.equals(Float.TYPE)) {
        return rs.getFloat(column);
    }

    if (typeClass.equals(Double.class) || typeClass.equals(Double.TYPE)) {
        return rs.getDouble(column);
    }

    if (typeClass.equals(Byte.class) || typeClass.equals(Byte.TYPE)) {
        return rs.getByte(column);
    }

    if (typeClass.equals(String.class)) {
        return rs.getString(column);
    }

    if (Date.class.isAssignableFrom(typeClass)) {
        return rs.getTimestamp(column);
    }

    if (java.sql.Date.class.isAssignableFrom(typeClass)) {
        return rs.getDate(column);
    }

    return rs.getObject(column);
}