X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOSQLiteTreeHandler.cpp;h=f3595c9f156caa9fed39e9e5ff173f163f8cf33f;hb=918c6efd4f8ccabcdcfa92e5b13da5c64de5e638;hp=3a01e117f8a78f3861ede83c5200f4e054f57e8c;hpb=1fef6548c9e6a5c725ad7b98b940158779ff2485;p=creaImageIO.git diff --git a/src2/creaImageIOSQLiteTreeHandler.cpp b/src2/creaImageIOSQLiteTreeHandler.cpp index 3a01e11..f3595c9 100644 --- a/src2/creaImageIOSQLiteTreeHandler.cpp +++ b/src2/creaImageIOSQLiteTreeHandler.cpp @@ -106,13 +106,7 @@ namespace creaImageIO { return false; } - //===================================================================== - - //===================================================================== - unsigned int SQLiteTreeHandler::GetNumberOfChildren(tree::Node* n) - { - return 0; - } + //===================================================================== //===================================================================== @@ -682,6 +676,7 @@ namespace creaImageIO // Query DB int level = node->GetLevel(); std::string query = "SELECT * FROM "; + query += GetTree().GetLevelDescriptor(level+1).GetName(); if (level>0) { @@ -853,6 +848,37 @@ namespace creaImageIO } } + //===================================================================== + + //===================================================================== + unsigned int SQLiteTreeHandler::GetNumberOfChildren(tree::Node* n) + { + // Query DB + int nb=0; + int level = n->GetLevel(); + if(GetTree().GetNumberOfLevels()!=(level+1)) + { + std::string query = "SELECT * FROM "; + query += GetTree().GetLevelDescriptor(level+1).GetName(); + if (level>0) + { + query += " WHERE PARENT_ID='" + n->UnsafeGetAttribute("ID") + + "'"; + } + + CppSQLite3Query q; + QUERYDB(query,q); + + + while (!q.eof()) + { + nb++; + q.nextRow(); + } + } + return nb; + } + /* //===================================================================== bool SQLiteTreeHandler::DBInsert(Node* alien_node,