0

私はJavaとjackcessから始めて、私はこのコードを持っています

public class DataManagement {
static Database db;
static Database dbopen;
static Table Users;
static Set<String> tablename;
static String[] nametabla;

public static void opendatabase(){
   try {
    dbopen=DatabaseBuilder.open(new File("D:/alex.accdb"));
    tablename=dbopen.getTableNames();
    nametabla = tablename.toArray(new String[0]);
} catch (IOException e) {
    e.printStackTrace();
}
}

public static void readtabla (String name){
   System.out.println(name);
   for(Column column : name.getColumns()) {
    String columnName = column.getName();
    System.out.println(columnName + " " );


  }
}

public static void main(String[] args){

    /*opening an existing database*/
    opendatabase();
    System.out.println("the name of tables are " + tablename);
    System.out.println("the name of table 2 is " + nametabla[1]);
    readtabla(nametabla[1]);


}
}

メソッド readtabla 内に「for」がないと、これが得られます

 the name of the tables are [Establecimiento, Estado, Medición, Ubicación]
 the name of table 2 is Estado
 Estado

問題はここにあります

 for(Column column : name.getColumns())

名前は(私が思うに)テーブル型でなければならず、文字列型として送信するため、文字列型をテーブル型に変換するにはどうすればよいですか? または別の方法がありますか?前もって感謝します

4

2 に答える 2

0

jackcess-ormを使用して Java POJO のみを操作できます

于 2014-04-16T01:20:01.030 に答える
0

Database オブジェクトのメソッドを使用してgetTable()、Table オブジェクトを返すことができます。

public static void readtabla (String name) {
    System.out.println(name);
    Table tbl;
    try {
        tbl = dbopen.getTable(name);
        for(Column column : tbl.getColumns()) {
            String columnName = column.getName();
            System.out.println(columnName + " " );
        }
    } catch (IOException e) {
        e.printStackTrace();
    } 
}
于 2014-01-05T21:20:36.997 に答える