データベースに保存されているフォルダのリストを取得して、それらを正しい階層のローカルマシンに作成するクラスを作成する必要があります。フォルダのIDと親のIDからJavaでフォルダを作成する
フォルダがそうのようなデータベース上に配置されている:
id name parent_id 1 documents 0 2 movies 0 3 videos 0 4 my files 1 5 desktop 0 6 other 4
だから、文書、映画、ビデオ、デスクトップがルートです。 'my files'はidが1(documents)のフォルダにあり、 'other'は4のid(myファイル)のフォルダに格納されます
私はwhyleループを使ってそれをしようとしていますがそれらを正しいフォルダに入れる方法を知らない。
try {
con = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
while(i < 50)
{
try {
Statement st = con.createStatement();
ResultSet result = st.executeQuery("SELECT name, id, parent_id FROM categories WHERE parent_id = '"+PID+"' AND repository_id = '"+RepoID+"'");
while (result.next())
{
String FolderName = result.getString ("name");
String FolderId = result.getString ("id");
String FolderId = result.getString ("parent_id");
make the folder name here
System.out.println(FolderName+" "+FolderId);
}
System.out.println(" ");
i++ ;
PID++;
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
これは "data.put(newFolder.getId()、newFolder);"を除いて、私にとって素晴らしいことです。私は得る: "型の不一致:要素型整数からフォルダに変換できません"とeclipseは、 "フォルダ"をintergerに変換したい。私が間違っていたことは何ですか? – WookooUK
マップジェネリックタイプが間違っていました。これを反映するためにマップを作成するためのコードを編集しました。これはMap data = new HashMap ();でなければなりません。 –
最後の部分については、id = 0のフォルダをグラッピングする方法を教えてください。私はまた、コードをどこに置くかわからない、現在では、すべてのPIDループ – WookooUK