2015-07-19 2 views
0

Итак, я писал метод, который извлекает информацию о моих обновлениях в игре и до сих пор извлекал всю информацию, необходимую для версии 1.0. Я перешел к вводу 1.1, и он вернулся с пустой строкой.Извлечение всех данных из MySQL (java)

public String getRevision(float revision, String revisionName) { 
    try { 
     String txt = "\t\t\t\t\t\t\t#e---===Revision Log "+revision+"===---#n\r\n\r\n"; 
     Connection con = DatabaseConnection.getConnection(); 
     PreparedStatement ps = con.prepareStatement("SELECT information FROM revisions_log WHERE revisionName = ? AND revision = ?"); 
     ps.setString(1, revisionName); 
     ps.setFloat(2, revision); 
     ResultSet rs = ps.executeQuery(); 
     while (rs.next()) { 
      txt += rs.getString("information") + "\r\n"; 
     } 
     ps.close(); 
     rs.close(); 
     return txt; 
    } catch (Exception e) { 

    } 
    return "No logs were found!"; 
} 

db в базе данных задается строкой для ее ревизииName и поплавком для ее ревизий. Я также определенно обновил DB с правильным номером ревизии.

Здесь:

Image of DB

Запрос:

SELECT information FROM maplesolaxia.revisions_log WHERE revisionName = "prealpha" AND revision = 1.1; 

Запуск ЖЕ запрос, но с 1,0 вместо работы.

Вот как мой стол настроен. Image

+0

Можете ли вы запустить запрос в базе данных и показать нам строки, которые, по вашему мнению, должны быть извлечены? – CKing

+0

Хорошо, я внес изменения, которые вы просили. –

+0

Я думаю, проблема с 'float' для столбца' revision'. Измените его на varchar. Это дает вам больше гибкости в будущем. –

ответ

0

Это было странное решение, но я изменил значение данных «ревизии» с FLOAT на DECIMAL (3,1), и это, казалось, сработало.

Смежные вопросы