+\r
+void FixCapitalBoardNames()\r
+{\r
+ SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
+\r
+ SQLite3DB::Statement st=db->Prepare("SELECT BoardID,BoardName FROM tblBoard WHERE BoardID NOT IN (SELECT BoardID FROM tblAdministrationBoard);");\r
+ SQLite3DB::Statement st2=db->Prepare("SELECT BoardID FROM tblBoard WHERE BoardName=?;");\r
+ SQLite3DB::Statement del=db->Prepare("DELTE FROM tblBoard WHERE BoardID=?;");\r
+ SQLite3DB::Statement upd=db->Prepare("UPDATE tblBoard SET BoardName=? WHERE BoardID=?;");\r
+ SQLite3DB::Statement upd2=db->Prepare("UPDATE tblMessage SET ReplyBoardID=? WHERE ReplyBoardID=?;");\r
+ SQLite3DB::Statement upd3=db->Prepare("UPDATE tblMessageBoard SET BoardID=? WHERE BoardID=?;");\r
+\r
+ st.Step();\r
+ while(st.RowReturned())\r
+ {\r
+ int boardid=0;\r
+ int newboardid=0;\r
+ std::string name="";\r
+ std::string lowername="";\r
+\r
+ st.ResultInt(0,boardid);\r
+ st.ResultText(1,name);\r
+\r
+ lowername=name;\r
+ StringFunctions::LowerCase(lowername,lowername);\r
+ \r
+ if(name!=lowername)\r
+ {\r
+ st2.Bind(0,lowername);\r
+ st2.Step();\r
+\r
+ if(st2.RowReturned())\r
+ {\r
+ st2.ResultInt(0,newboardid);\r
+\r
+ upd2.Bind(0,newboardid);\r
+ upd2.Bind(1,boardid);\r
+ upd2.Step();\r
+ upd2.Reset();\r
+\r
+ upd3.Bind(0,newboardid);\r
+ upd3.Bind(1,boardid);\r
+ upd3.Step();\r
+ upd3.Reset();\r
+\r
+ del.Bind(0,boardid);\r
+ del.Step();\r
+ del.Reset();\r
+ }\r
+ else\r
+ {\r
+ upd.Bind(0,lowername);\r
+ upd.Bind(1,boardid);\r
+ upd.Step();\r
+ upd.Reset();\r
+ }\r
+\r
+ st2.Reset();\r
+ }\r
+ \r
+ st.Step();\r
+ }\r
+\r
+}\r