0

JDBC (Java) 経由で MySQL コマンドを使用して、データベースに変更を加えています。列の値を返すために、次のメソッドを実装しました。目標は、列 (​​行) 内の位置を配列 (インデックス) 内の位置に対応させることです。これは文字列列で機能しますが、数値列では、ResultSet はそれらを昇順で配置するように見えるため、返された文字列配列での位置は列での位置を反映しません。「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;

}
4

1 に答える 1

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;

}
于 2012-11-26T04:16:44.980 に答える