Mercurial > hg > orthanc
diff OrthancServer/DatabaseWrapper.cpp @ 546:0e510ea3de31 laaw
merge mainline -> laaw
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 13 Sep 2013 11:25:08 +0200 |
parents | 2c739f76d0bb |
children | c2be0a0e049e b2357f1f026f |
line wrap: on
line diff
--- a/OrthancServer/DatabaseWrapper.cpp Fri Sep 13 11:10:58 2013 +0200 +++ b/OrthancServer/DatabaseWrapper.cpp Fri Sep 13 11:25:08 2013 +0200 @@ -949,4 +949,50 @@ { db_.Execute("DELETE FROM " + tableName); } + + + bool DatabaseWrapper::IsExistingResource(int64_t internalId) + { + SQLite::Statement s(db_, SQLITE_FROM_HERE, + "SELECT * FROM Resources WHERE internalId=?"); + s.BindInt(0, internalId); + return s.Step(); + } + + + void DatabaseWrapper::LookupTagValue(std::list<int64_t>& result, + DicomTag tag, + const std::string& value) + { + SQLite::Statement s(db_, SQLITE_FROM_HERE, + "SELECT id FROM MainDicomTags WHERE tagGroup=? AND tagElement=? and value=?"); + + s.BindInt(0, tag.GetGroup()); + s.BindInt(1, tag.GetElement()); + s.BindString(2, value); + + result.clear(); + + while (s.Step()) + { + result.push_back(s.ColumnInt64(0)); + } + } + + + void DatabaseWrapper::LookupTagValue(std::list<int64_t>& result, + const std::string& value) + { + SQLite::Statement s(db_, SQLITE_FROM_HERE, + "SELECT id FROM MainDicomTags WHERE value=?"); + + s.BindString(0, value); + + result.clear(); + + while (s.Step()) + { + result.push_back(s.ColumnInt64(0)); + } + } }