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

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

源代码1 项目: BlackWidow-Chess   文件: MySqlGamePersistence.java
private void createOutcomeIndex() {
    try {
        final String sqlString = "SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_CATALOG = 'def' AND TABLE_SCHEMA = DATABASE() AND TABLE_NAME = \"game\" AND INDEX_NAME = \"OutcomeIndex\"";
        final Statement gameStatement = this.dbConnection.createStatement();
        gameStatement.execute(sqlString);
        final ResultSet resultSet = gameStatement.getResultSet();
        if(!resultSet.isBeforeFirst() ) {
            final Statement indexStatement = this.dbConnection.createStatement();
            indexStatement.execute("CREATE INDEX OutcomeIndex on Game(outcome);\n");
            indexStatement.close();
        }
        gameStatement.close();
    }
    catch (final SQLException e) {
        e.printStackTrace();
    }
}
 
源代码2 项目: weMessage   文件: DatabaseManager.java
public String getLastEmailByDeviceId(String deviceId) throws SQLException {
    String selectStatementString = "SELECT * FROM " + TABLE_DEVICES + " WHERE " + COLUMN_DEVICE_ID + " = ?";
    PreparedStatement findStatement = getServerDatabaseConnection().prepareStatement(selectStatementString);
    findStatement.setString(1, deviceId);
    ResultSet resultSet = findStatement.executeQuery();

    if (!resultSet.isBeforeFirst()){
        resultSet.close();
        findStatement.close();
        return null;
    }
    String deviceEmail = resultSet.getString(COLUMN_DEVICE_LAST_EMAIL);

    resultSet.close();
    findStatement.close();

    return deviceEmail;
}
 
源代码3 项目: weMessage   文件: DatabaseManager.java
public String getNameByDeviceId(String deviceId) throws SQLException {
    String selectStatementString = "SELECT * FROM " + TABLE_DEVICES + " WHERE " + COLUMN_DEVICE_ID + " = ?";
    PreparedStatement findStatement = getServerDatabaseConnection().prepareStatement(selectStatementString);
    findStatement.setString(1, deviceId);
    ResultSet resultSet = findStatement.executeQuery();

    if (!resultSet.isBeforeFirst()){
        resultSet.close();
        findStatement.close();
        return null;
    }
    String deviceName = resultSet.getString(COLUMN_DEVICE_NAME);

    resultSet.close();
    findStatement.close();

    return deviceName;
}
 
private static void fetchSkillbooksFromReactors() {
    Connection con = null;
    try {
        con = DatabaseConnection.getConnection();
        
        PreparedStatement ps = con.prepareStatement("SELECT itemid FROM reactordrops WHERE itemid >= ? AND itemid < ?;");
        ps.setInt(1, skillbookMinItemid);
        ps.setInt(2, skillbookMaxItemid);
        ResultSet rs = ps.executeQuery();

        if (rs.isBeforeFirst()) {
            while(rs.next()) {
                foundSkillbooks.put(rs.getInt("itemid"), SkillBookEntry.REACTOR);
            }
        }

        rs.close();
        ps.close();
        
        con.close();
    } catch (SQLException sqle) {
        sqle.printStackTrace();
    }
}
 
源代码5 项目: flip-tables   文件: FlipTableConverters.java
/** Create a table from a {@link ResultSet}. */
public static String fromResultSet(ResultSet resultSet) throws SQLException {
  if (resultSet == null) throw new NullPointerException("resultSet == null");
  if (!resultSet.isBeforeFirst()) throw new IllegalStateException("Result set not at first.");

  List<String> headers = new ArrayList<>();
  ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
  int columnCount = resultSetMetaData.getColumnCount();
  for (int column = 0; column < columnCount; column++) {
    headers.add(resultSetMetaData.getColumnName(column + 1));
  }

  List<String[]> data = new ArrayList<>();
  while (resultSet.next()) {
    String[] rowData = new String[columnCount];
    for (int column = 0; column < columnCount; column++) {
      rowData[column] = resultSet.getString(column + 1);
    }
    data.add(rowData);
  }

  String[] headerArray = headers.toArray(new String[headers.size()]);
  String[][] dataArray = data.toArray(new String[data.size()][]);
  return FlipTable.of(headerArray, dataArray);
}
 
源代码6 项目: supbot   文件: ClientDatabase.java
public static Client getClientWithAlias(String alias){

        try(Connection con = connect();
            PreparedStatement pstmt = con.prepareStatement(selectClientWithAlias)) {

            pstmt.setString(1, alias);
            ResultSet rs  = pstmt.executeQuery();

            if (!rs.isBeforeFirst() ) {
                return null;
            }

            return new Client(
                    rs.getString(clientName),
                    rs.getString(alias),
                    rs.getString(clientGUID),
                    Client.Role.prestigeToRole(rs.getInt(clientRole)
                    ));

        } catch (SQLException e) {
            e.printStackTrace();
        }

        return null;

    }
 
源代码7 项目: weMessage   文件: MessagesDatabase.java
public Message getLastNotNullMessageFromChat(ChatBase chat) throws SQLException {
    String selectStatementString = "SELECT * FROM " + CHAT_MESSAGE_JOIN_TABLE
            + " INNER JOIN " + MESSAGE_TABLE + " ON " + CHAT_MESSAGE_JOIN_TABLE + "." + COLUMN_CHAT_MESSAGE_MESSAGE_ID + " = " + MESSAGE_TABLE + "." + COLUMN_MESSAGE_ROWID
            + " WHERE " + COLUMN_CHAT_MESSAGE_CHAT_ID + " = ? "
            + " AND " + MESSAGE_TABLE + "." + COLUMN_MESSAGE_TEXT + " IS NOT NULL "
            + " ORDER BY " + COLUMN_CHAT_MESSAGE_MESSAGE_ID + " DESC LIMIT 1";

    PreparedStatement selectStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectStatementString);
    selectStatement.setLong(1, chat.getRowID());

    ResultSet resultSet = selectStatement.executeQuery();

    if (!resultSet.isBeforeFirst()){
        resultSet.close();
        selectStatement.close();
        return null;
    }
    long rowID = resultSet.getLong(COLUMN_CHAT_MESSAGE_MESSAGE_ID);
    Message message = getMessageByRow(rowID);

    resultSet.close();
    selectStatement.close();

    return message;
}
 
源代码8 项目: weMessage   文件: MessagesDatabase.java
public Attachment getAttachmentByRow(long rowID) throws SQLException {
    String selectStatementString = "SELECT * FROM " + ATTACHMENT_TABLE + " WHERE " + COLUMN_ATTACHMENT_ROWID + " = ?";
    PreparedStatement selectStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectStatementString);
    selectStatement.setLong(1, rowID);

    ResultSet resultSet = selectStatement.executeQuery();

    if (!resultSet.isBeforeFirst()){
        resultSet.close();
        selectStatement.close();
        return null;
    }
    Attachment attachment = buildAttachment(resultSet);

    resultSet.close();
    selectStatement.close();
    return attachment;
}
 
源代码9 项目: weMessage   文件: MessagesDatabase.java
public Handle getHandleByRow(long rowID) throws SQLException {
    String selectStatementString = "SELECT * FROM " + HANDLE_TABLE + " WHERE " + COLUMN_HANDLE_ROWID + " = ?";
    PreparedStatement selectStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectStatementString);
    selectStatement.setLong(1, rowID);

    ResultSet resultSet = selectStatement.executeQuery();

    if (!resultSet.isBeforeFirst()){
        resultSet.close();
        selectStatement.close();
        return null;
    }
    Handle handle = buildHandle(resultSet);

    resultSet.close();
    selectStatement.close();
    return handle;
}
 
/**
 * Function to populate Meta Data.
 * @param columnNamesSet is a set having column names given by the user
 * @throws SQLException
 */
protected void populateColumnDataTypes(HashSet<String> columnNamesSet) throws SQLException
{
  ResultSet rsColumns;
  DatabaseMetaData meta = store.getConnection().getMetaData();
  rsColumns = meta.getColumns(null, null, getTablename(), null);
  /**Identifiers (table names, column names etc.) may be stored internally in either uppercase or lowercase.**/
  if (!rsColumns.isBeforeFirst()) {
    rsColumns = meta.getColumns(null, null, getTablename().toUpperCase(), null);
    if (!rsColumns.isBeforeFirst()) {
      rsColumns = meta.getColumns(null, null, getTablename().toLowerCase(), null);
      if (!rsColumns.isBeforeFirst()) {
        throw new RuntimeException("Table name not found");
      }
    }
  }
  boolean readAllColumns = columnNamesSet.size() == 0 ? true : false;
  int remainingColumns = columnNamesSet.size();
  while (rsColumns.next()) {
    if (readAllColumns || remainingColumns > 0) {
      if (readAllColumns || columnNamesSet.contains(rsColumns.getString("COLUMN_NAME").toUpperCase())) {
        columnNames.add(rsColumns.getString("COLUMN_NAME"));
        columnNullabilities.add(rsColumns.getInt("NULLABLE"));
        columnDataTypes.add(rsColumns.getInt("DATA_TYPE"));
        remainingColumns--;
      }
    } else {
      break;
    }
  }
}
 
源代码11 项目: sync-service   文件: PostgresqlItemDAO.java
private boolean resultSetHasRows(ResultSet resultSet) {
	boolean hasRows = false;
	if (resultSet != null) {
		try {
			// true if the cursor is before the first row; false if the
			// cursor is at any other position or the result set contains no
			// rows }
			hasRows = resultSet.isBeforeFirst();
		} catch (SQLException e) {
		}
	}
	return hasRows;
}
 
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertIsBeforeFirst() throws SQLException {
    for (ResultSet each : resultSets) {
        each.isBeforeFirst();
    }
}
 
源代码13 项目: weMessage   文件: MessagesDatabase.java
public Message getMessageByRow(long rowID) throws SQLException {
    String selectStatementString = "SELECT * FROM " + MESSAGE_TABLE + " WHERE " + COLUMN_MESSAGE_ROWID + " = ?";
    PreparedStatement selectStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectStatementString);
    selectStatement.setLong(1, rowID);

    ResultSet resultSet = selectStatement.executeQuery();

    if (!resultSet.isBeforeFirst()){
        resultSet.close();
        selectStatement.close();
        return null;
    }
    Handle handle = getHandleByRow(resultSet.getLong(COLUMN_MESSAGE_HANDLE_ID));
    long messageRow = resultSet.getLong(COLUMN_MESSAGE_ROWID);

    String selectChatMessageStatementString = "SELECT * FROM " + CHAT_MESSAGE_JOIN_TABLE + " WHERE " + COLUMN_CHAT_MESSAGE_MESSAGE_ID + " = ?";
    PreparedStatement selectChatMessageStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectChatMessageStatementString);
    selectChatMessageStatement.setLong(1, messageRow);

    ResultSet resultChatMessageSet = selectChatMessageStatement.executeQuery();

    ChatBase chat;
    try {
        long theResultInt = resultChatMessageSet.getLong(COLUMN_CHAT_MESSAGE_CHAT_ID);
        chat = getChatByRow(theResultInt);
    }catch(Exception ex){
        return null;
    }

    List<Attachment> attachments = new ArrayList<>();
    String selectMessageAttachmentString = "SELECT * FROM " + MESSAGE_ATTACHMENT_TABLE + " WHERE " + COLUMN_MESSAGE_ATTACHMENT_MESSAGE_ID + " = ?";
    PreparedStatement selectMessageAttachmentStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectMessageAttachmentString);
    selectMessageAttachmentStatement.setLong(1, messageRow);

    boolean isResultSet = selectMessageAttachmentStatement.execute();

    while(true) {
        if(isResultSet) {
            ResultSet theResultSet = selectMessageAttachmentStatement.getResultSet();
            while(theResultSet.next()) {
                long resultInt = theResultSet.getLong(COLUMN_MESSAGE_ATTACHMENT_ATTACHMENT_ID);
                attachments.add(getAttachmentByRow(resultInt));
            }
            theResultSet.close();
        } else {
            if(selectMessageAttachmentStatement.getUpdateCount() == -1) {
                break;
            }
        }
        isResultSet = selectMessageAttachmentStatement.getMoreResults();
    }

    Message message = buildMessage(resultSet, chat, handle, attachments);

    resultSet.close();
    resultChatMessageSet.close();
    selectStatement.close();
    selectChatMessageStatement.close();
    selectMessageAttachmentStatement.close();

    return message;
}
 
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertIsBeforeFirst() throws SQLException {
    for (ResultSet each : resultSets) {
        each.isBeforeFirst();
    }
}
 
源代码15 项目: cacheonix-core   文件: Loader.java
/**
 * Loads a single logical row from the result set moving forward.  This is the
 * processing used from the ScrollableResults where there were collection fetches
 * encountered; thus a single logical row may have multiple rows in the underlying
 * result set.
 *
 * @param resultSet The result set from which to do the load.
 * @param session The session from which the request originated.
 * @param queryParameters The query parameters specified by the user.
 * @param returnProxies Should proxies be generated
 * @return The loaded "row".
 * @throws HibernateException
 */
public Object loadSequentialRowsForward(
        final ResultSet resultSet,
        final SessionImplementor session,
        final QueryParameters queryParameters,
        final boolean returnProxies) throws HibernateException {

	// note that for sequential scrolling, we make the assumption that
	// the first persister element is the "root entity"

	try {
		if ( resultSet.isAfterLast() ) {
			// don't even bother trying to read further
			return null;
		}

		if ( resultSet.isBeforeFirst() ) {
			resultSet.next();
		}

		// We call getKeyFromResultSet() here so that we can know the
		// key value upon which to perform the breaking logic.  However,
		// it is also then called from getRowFromResultSet() which is certainly
		// not the most efficient.  But the call here is needed, and there
		// currently is no other way without refactoring of the doQuery()/getRowFromResultSet()
		// methods
		final EntityKey currentKey = getKeyFromResultSet(
				0,
				getEntityPersisters()[0],
				null,
				resultSet,
				session
			);

		return sequentialLoad( resultSet, session, queryParameters, returnProxies, currentKey );
	}
	catch ( SQLException sqle ) {
		throw JDBCExceptionHelper.convert(
		        factory.getSQLExceptionConverter(),
		        sqle,
		        "could not perform sequential read of results (forward)",
		        getSQLString()
			);
	}
}
 
源代码16 项目: opsu-dance   文件: ScoreDB.java
/**
 * Applies any database updates by comparing the current version to the
 * stored version.  Does nothing if tables have not been created.
 */
private static void updateDatabase() throws Exception
{
	try (Statement stmt = connection.createStatement()) {
		int version = 0;

		// if 'info' table does not exist, assume version 0 and apply all updates
		String sql = "SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'info'";
		ResultSet rs = stmt.executeQuery(sql);
		boolean infoExists = rs.isBeforeFirst();
		rs.close();
		if (!infoExists) {
			// if 'scores' table also does not exist, databases not yet created
			sql = "SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'scores'";
			ResultSet scoresRS = stmt.executeQuery(sql);
			boolean scoresExists = scoresRS.isBeforeFirst();
			scoresRS.close();
			if (!scoresExists)
				return;
		} else {
			// try to retrieve stored version
			sql = "SELECT value FROM info WHERE key = 'version'";
			ResultSet versionRS = stmt.executeQuery(sql);
			String versionString = (versionRS.next()) ? versionRS.getString(1) : "0";
			versionRS.close();
			try {
				version = Integer.parseInt(versionString);
			} catch (NumberFormatException e) {}
		}

		// database versions match
		if (version >= DATABASE_VERSION)
			return;

		// apply updates
		for (String query : getUpdateQueries(version))
			stmt.executeUpdate(query);

		// update version
		if (infoExists) {
			PreparedStatement ps = connection.prepareStatement("REPLACE INTO info (key, value) VALUES ('version', ?)");
			ps.setString(1, Integer.toString(DATABASE_VERSION));
			ps.executeUpdate();
			ps.close();
		}
	}
}
 
源代码17 项目: weMessage   文件: MessagesDatabase.java
public ChatBase getChatByRow(long rowID) throws SQLException {
    String selectChatStatementString = "SELECT * FROM " + CHAT_TABLE + " WHERE " + COLUMN_CHAT_ROWID + " = ?";
    PreparedStatement selectChatStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectChatStatementString);
    selectChatStatement.setLong(1, rowID);

    ResultSet chatResultSet = selectChatStatement.executeQuery();

    if (!chatResultSet.isBeforeFirst()){
        chatResultSet.close();
        selectChatStatement.close();
        return null;
    }

    List<Handle> handles = new ArrayList<>();
    String selectChatHandleStatementString = "SELECT * FROM " + CHAT_HANDLES_TABLE + " WHERE " + COLUMN_CHAT_HANDLE_CHAT_ID + " = ?";
    PreparedStatement selectChatHandleStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectChatHandleStatementString);
    selectChatHandleStatement.setLong(1, rowID);

    boolean isResultSet = selectChatHandleStatement.execute();

    while(true) {
        if(isResultSet) {
            ResultSet resultSet = selectChatHandleStatement.getResultSet();
            while(resultSet.next()) {
                long resultInt = resultSet.getLong(COLUMN_CHAT_HANDLE_HANDLE_ID);
                handles.add(getHandleByRow(resultInt));
            }
            resultSet.close();
        } else {
            if(selectChatHandleStatement.getUpdateCount() == -1) {
                break;
            }
        }
        isResultSet = selectChatHandleStatement.getMoreResults();
    }

    ChatBase chat = buildChat(chatResultSet, handles);

    chatResultSet.close();
    selectChatStatement.close();
    selectChatHandleStatement.close();

    return chat;
}
 
源代码18 项目: weMessage   文件: MessagesDatabase.java
public ChatBase getChatByGuid(String guid) throws SQLException {
    String selectChatStatementString = "SELECT * FROM " + CHAT_TABLE + " WHERE " + COLUMN_CHAT_GUID + " = ?";
    PreparedStatement selectChatStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectChatStatementString);
    selectChatStatement.setString(1, guid);

    ResultSet chatResultSet = selectChatStatement.executeQuery();

    if (!chatResultSet.isBeforeFirst()){
        chatResultSet.close();
        selectChatStatement.close();
        return null;
    }

    List<Handle> handles = new ArrayList<>();
    String selectChatHandleStatementString = "SELECT * FROM " + CHAT_HANDLES_TABLE + " WHERE " + COLUMN_CHAT_HANDLE_CHAT_ID + " = ?";
    PreparedStatement selectChatHandleStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectChatHandleStatementString);
    selectChatHandleStatement.setLong(1, chatResultSet.getLong(COLUMN_CHAT_ROWID));

    boolean isResultSet = selectChatHandleStatement.execute();

    while(true) {
        if(isResultSet) {
            ResultSet resultSet = selectChatHandleStatement.getResultSet();
            while(resultSet.next()) {
                long resultInt = resultSet.getLong(COLUMN_CHAT_HANDLE_HANDLE_ID);
                handles.add(getHandleByRow(resultInt));
            }
            resultSet.close();
        } else {
            if(selectChatHandleStatement.getUpdateCount() == -1) {
                break;
            }
        }
        isResultSet = selectChatHandleStatement.getMoreResults();
    }

    ChatBase chat = buildChat(chatResultSet, handles);

    chatResultSet.close();
    selectChatStatement.close();
    selectChatHandleStatement.close();

    return chat;
}
 
源代码19 项目: weMessage   文件: MessagesDatabase.java
public ChatBase getChatByGroupID(String groupID) throws SQLException {
    String selectChatStatementString = "SELECT * FROM " + CHAT_TABLE + " WHERE " + COLUMN_CHAT_GROUP_ID + " = ?";
    PreparedStatement selectChatStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectChatStatementString);
    selectChatStatement.setString(1, groupID);

    ResultSet chatResultSet = selectChatStatement.executeQuery();

    if (!chatResultSet.isBeforeFirst()){
        chatResultSet.close();
        selectChatStatement.close();
        return null;
    }

    List<Handle> handles = new ArrayList<>();
    String selectChatHandleStatementString = "SELECT * FROM " + CHAT_HANDLES_TABLE + " WHERE " + COLUMN_CHAT_HANDLE_CHAT_ID + " = ?";
    PreparedStatement selectChatHandleStatement = getDatabaseManager().getChatDatabaseConnection().prepareStatement(selectChatHandleStatementString);
    selectChatHandleStatement.setLong(1, chatResultSet.getLong(COLUMN_CHAT_ROWID));

    boolean isResultSet = selectChatHandleStatement.execute();

    while(true) {
        if(isResultSet) {
            ResultSet resultSet = selectChatHandleStatement.getResultSet();
            while(resultSet.next()) {
                long resultInt = resultSet.getLong(COLUMN_CHAT_HANDLE_HANDLE_ID);
                handles.add(getHandleByRow(resultInt));
            }
            resultSet.close();
        } else {
            if(selectChatHandleStatement.getUpdateCount() == -1) {
                break;
            }
        }
        isResultSet = selectChatHandleStatement.getMoreResults();
    }

    ChatBase chat = buildChat(chatResultSet, handles);

    chatResultSet.close();
    selectChatStatement.close();
    selectChatHandleStatement.close();

    return chat;
}
 
源代码20 项目: opsu   文件: BeatmapDB.java
/**
 * Applies any database updates by comparing the current version to the
 * stored version.  Does nothing if tables have not been created.
 */
private static void updateDatabase() throws SQLException {
	try (Statement stmt = connection.createStatement()) {
		int version = 0;

		// if 'info' table does not exist, assume version 0 and apply all updates
		String sql = "SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'info'";
		ResultSet rs = stmt.executeQuery(sql);
		boolean infoExists = rs.isBeforeFirst();
		rs.close();
		if (!infoExists) {
			// if 'beatmaps' table also does not exist, databases not yet created
			sql = "SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'beatmaps'";
			ResultSet beatmapsRS = stmt.executeQuery(sql);
			boolean beatmapsExists = beatmapsRS.isBeforeFirst();
			beatmapsRS.close();
			if (!beatmapsExists)
				return;
		} else {
			// try to retrieve stored version
			sql = "SELECT value FROM info WHERE key = 'version'";
			ResultSet versionRS = stmt.executeQuery(sql);
			String versionString = (versionRS.next()) ? versionRS.getString(1) : "0";
			versionRS.close();
			try {
				version = Integer.parseInt(versionString);
			} catch (NumberFormatException e) {}
		}

		// database versions match
		if (version >= DATABASE_VERSION)
			return;

		// apply updates
		for (String query : getUpdateQueries(version))
			stmt.executeUpdate(query);

		// update version
		if (infoExists) {
			PreparedStatement ps = connection.prepareStatement("REPLACE INTO info (key, value) VALUES ('version', ?)");
			ps.setString(1, Integer.toString(DATABASE_VERSION));
			ps.executeUpdate();
			ps.close();
		}
	}
}