MySQL命令列中的SELECT值 - JDBC

时间:2012-11-25 03:59:13

标签: java mysql sql database jdbc

我正在通过JDBC(Java)使用MySQL命令来更改我的数据库。我已实现以下方法来返回列的值。目标是使列(行)中的位置与它们在数组(索引)中的位置相对应。这适用于String列,但是对于数字列,ResultSet似乎将它们按升序排列,因此它们在返回的String数组中的定位不会反映它们在列中的位置。 'rs'是ResultSet引用变量。

public String[] getColumnContents(String tableName, String columnName) {
    String sql = "SELECT " + columnName + " FROM " + tableName;
    String[] results = new String[SQLManager.getColumnLength(tableName, columnName)];

    try {
       rs = statement.executeQuery(sql);

       for (int counter = 0; rs.next(); counter++) {
            results[counter] = rs.getString(columnName);
       }

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

    return results;

}

1 个答案:

答案 0 :(得分:1)

就像在SQL命令中添加ORDER BY子句一样简单。这是我的工作方法:

public String[] getColumnContents(String tableName, String columnName) {
String sql = "SELECT " + columnName + " FROM " + tableName + " ORDER BY " + columnName1 + " ASC, " + columnName2 + " ASC";

String[] results = new String[SQLManager.getColumnLength(tableName, columnName)];

try {
    rs = statement.executeQuery(sql);

    for (int counter = 0; rs.next(); counter++) {
        results[counter] = rs.getString(columnName);
    }
} catch (SQLException e) {
    e.printStackTrace();
}

return results;

}