Changeset 15623
- Timestamp:
- 2008-05-22T10:43:11+12:00 (16 years ago)
- Location:
- gsdl/trunk/lib
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/lib/sqliteclass.cpp
r15603 r15623 25 25 26 26 #include "sqliteclass.h" 27 #include "unitool.h" 27 28 28 29 … … 93 94 } 94 95 96 outconvertclass text_t2ascii; 97 95 98 text_tmap sql_result = sql_results[0]; 96 97 // !! TO FINISH 99 text_t sql_result_value = sql_result["value"]; 100 (*logout) << text_t2ascii << "Result: " << sql_result_value << "\n"; 101 102 text_t::iterator sql_result_value_iterator = sql_result_value.begin(); 103 text_t ikey, ivalue; 104 info.clear(); 105 while (getinfoline(sql_result_value_iterator, sql_result_value.end(), ikey, ivalue)) 106 { 107 info.addinfo(ikey, ivalue); 108 } 98 109 99 110 return true; … … 207 218 208 219 220 // returns true on success 221 bool sqliteclass::getinfoline (text_t::iterator &here, text_t::iterator end, 222 text_t &key, text_t &value) 223 { 224 key.clear(); 225 value.clear(); 226 227 // ignore white space 228 while (here != end && is_unicode_space (*here)) ++here; 229 230 // get the '<' 231 if (here == end || *here != '<') return false; 232 ++here; 233 234 // get the key 235 while (here != end && *here != '>') { 236 key.push_back(*here); 237 ++here; 238 } 239 240 // get the '>' 241 if (here == end || *here != '>') return false; 242 ++here; 243 244 // get the value 245 while (here != end && *here != '\n') { 246 if (*here == '\\') { 247 // found escape character 248 ++here; 249 if (here != end) { 250 if (*here == 'n') value.push_back ('\n'); 251 else if (*here == 'r') value.push_back ('\r'); 252 else value.push_back(*here); 253 } 254 255 } else { 256 // a normal character 257 value.push_back(*here); 258 } 259 260 ++here; 261 } 262 263 return true; 264 } 265 266 267 // ---------------------------------------------------------------------------------------- 268 // CORE SQL FUNCTIONS 269 // ---------------------------------------------------------------------------------------- 270 209 271 // sqlexec simply executes the given sql statement - it doesn't obtain a 210 272 // result set - returns true if the sql statement was executed successfully … … 259 321 260 322 261 // sqlgetarray executes sql and returns the result set in result323 // sqlgetarray executes sql and returns the result set in sql_results 262 324 bool sqliteclass::sqlgetarray(const text_t &sql_cmd, vector<text_tmap> &sql_results) 263 325 { -
gsdl/trunk/lib/sqliteclass.h
r15602 r15623 65 65 sqlite3* sqlitefile; 66 66 67 bool sqlgetarray(const text_t &sql_cmd, vector<text_tmap> &sql_results); 68 bool sqlexec(const text_t &sql_cmd); 67 bool getinfoline (text_t::iterator &here, text_t::iterator end, 68 text_t &key, text_t &value); 69 70 bool sqlgetarray (const text_t &sql_cmd, vector<text_tmap> &sql_results); 71 bool sqlexec (const text_t &sql_cmd); 69 72 }; 70 73
Note:
See TracChangeset
for help on using the changeset viewer.