上面這個(gè)是一個(gè)文件路徑,我現(xiàn)在在弄一個(gè)服務(wù)器端的個(gè)人文件夾(基于Web),想把這個(gè)文件路徑整出來。說明:就是子文件夾有一個(gè)名為fatherId的保存父文件夾主鍵的字段,我想這個(gè)邏輯大家應(yīng)該都懂。現(xiàn)在我的問題是:如果已知最后一級(jí)就是gen這個(gè)數(shù)據(jù)的id,我怎么利用java遞歸或是循環(huán)(當(dāng)然要多次檢索數(shù)據(jù)庫(kù))得到String path = ”根目錄\Android\outlet\gen“ 這個(gè)字符串,因?yàn)槲乙诜?wù)器的此目錄下創(chuàng)建文件夾或文件夾,這個(gè)算法邏輯我有點(diǎn)混亂。求Java牛人幫忙,萬謝不辭?。?!
1 回答

FFIVE
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
我不認(rèn)為多次查數(shù)據(jù)庫(kù)是個(gè)好習(xí)慣,不過除了oracle,別的數(shù)據(jù)庫(kù)好像都沒遞歸查詢。無所謂,用程序就用程序吧
class DBHelper(object): def __init__(self, dbName): self.dbName = dbName def conn(self): import sqlite3 self.conn = sqlite3.connect(self.dbName) def close(self): self.conn.close() def getDir(self, subId, dirList): c = self.conn.cursor() dir = c.execute('select file_name,father_id from test where id=?', subId) row = c.fetchone() name = row[0] pId = str(row[1]) dirList.append(name) c.close() if pId != '0': self.getDir(pId, dirList) if __name__ == '__main__': db = DBHelper('temp.sqlite') db.conn() myDir = [] db.getDir('3', myDir) myDir.reverse() myDir = '/'.join(myDir) print myDir db.close()
數(shù)據(jù)庫(kù)和測(cè)試結(jié)果:
沒有jdbc驅(qū)動(dòng),懶得開eclipse,相信改寫成java的應(yīng)該很簡(jiǎn)單吧 ;) 希望對(duì)你有所幫助
添加回答
舉報(bào)
0/150
提交
取消