version 0.1.0
[fms.git] / src / messagelist.cpp
diff --git a/src/messagelist.cpp b/src/messagelist.cpp
new file mode 100644 (file)
index 0000000..902d5cb
--- /dev/null
@@ -0,0 +1,34 @@
+#include "../include/messagelist.h"\r
+\r
+void MessageList::LoadRange(const long lowmessageid, const long highmessageid, const long boardid)\r
+{\r
+       std::string sql;\r
+\r
+       sql="SELECT tblMessage.MessageID FROM tblMessage INNER JOIN tblMessageBoard ON tblMessage.MessageID=tblMessageBoard.MessageID WHERE tblMessage.MessageID>=? AND tblMessage.MessageID<=?";\r
+       if(boardid!=-1)\r
+       {\r
+               sql+=" AND tblMessageBoard.BoardID=?";\r
+       }\r
+       sql+=" ORDER BY tblMessage.MessageID;";\r
+\r
+       SQLite3DB::Statement st=m_db->Prepare(sql);\r
+       st.Bind(0,lowmessageid);\r
+       st.Bind(1,highmessageid);\r
+       if(boardid!=-1)\r
+       {\r
+               st.Bind(2,boardid);\r
+       }\r
+       st.Step();\r
+\r
+       // clear existing messages from the list\r
+       clear();\r
+\r
+       while(st.RowReturned())\r
+       {\r
+               int result;\r
+               st.ResultInt(0,result);\r
+               push_back(Message(result));\r
+               st.Step();\r
+       }\r
+\r
+}\r