comparison src/db.cpp @ 21:a2ad87cad48b

Enhanced the convenience of Cache dialog.
author pyon@macmini
date Wed, 17 Dec 2014 00:52:43 +0900
parents bbd65edf71d4
children
comparison
equal deleted inserted replaced
20:226774bf49fc 21:a2ad87cad48b
1 // Filename : db.cpp 1 // Filename : db.cpp
2 // Last Change: 23-May-2014. 2 // Last Change: 12-Dec-2014.
3 // 3 //
4 4
5 #include <wx/tokenzr.h> 5 #include <wx/tokenzr.h>
6 #include "db.h" 6 #include "db.h"
7 #include "wx/wxsqlite3.h" 7 #include "wx/wxsqlite3.h"
241 241
242 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db"); 242 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
243 wxSQLite3Database ccndb; 243 wxSQLite3Database ccndb;
244 ccndb.Open( gszFile ); 244 ccndb.Open( gszFile );
245 245
246 wxSQLite3Statement stmt = ccndb.PrepareStatement( "SELECT date, count(*) FROM ccn GROUP BY date ORDER BY date desc" ); 246 wxSQLite3Statement stmt = ccndb.PrepareStatement( "SELECT date, count(*) FROM path GROUP BY date ORDER BY date desc" );
247 wxSQLite3ResultSet q = stmt.ExecuteQuery(); 247 wxSQLite3ResultSet q = stmt.ExecuteQuery();
248 248
249 wxString str; 249 wxString str;
250 if ( !q.IsNull(0) ) { 250 if ( !q.IsNull(0) ) {
251 while ( q.NextRow() ) { 251 while ( q.NextRow() ) {
252 str = q.GetString(0) + "_" + q.GetString(1); 252 //str = q.GetString(0) + "_" + q.GetString(1);
253 str = q.GetString(0);
253 date_cnt.Add( str ); 254 date_cnt.Add( str );
254 } 255 }
255 } 256 }
256 stmt.Finalize(); 257 stmt.Finalize();
257 ccndb.Close(); 258 ccndb.Close();
283 ccndb.Close(); 284 ccndb.Close();
284 285
285 return data; 286 return data;
286 } 287 }
287 288
288 /* 範囲日時のパスを取得 */ 289 /* 指定した範囲の日付のパスを取得 */
289 wxArrayString GetPathes( wxString from, wxString to ) 290 wxArrayString GetPathesByPeriod( wxString from, wxString to )
290 { 291 {
291 wxArrayString path; 292 wxArrayString path;
292 293
293 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db"); 294 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
294 wxSQLite3Database ccndb; 295 wxSQLite3Database ccndb;
295 ccndb.Open( gszFile ); 296 ccndb.Open( gszFile );
296 297
297 wxSQLite3Statement stmt = ccndb.PrepareStatement( "SELECT path FROM path WHERE date >= ? AND date <= ?" ); 298 wxSQLite3Statement stmt = ccndb.PrepareStatement( "SELECT path FROM path WHERE date >= ? AND date <= ?" );
298 stmt.Bind( 1, from ); 299 stmt.Bind( 1, from );
299 stmt.Bind( 2, to ); 300 stmt.Bind( 2, to );
301 wxSQLite3ResultSet q = stmt.ExecuteQuery();
302
303 if ( !q.IsNull(0) ) {
304 while ( q.NextRow() ) {
305 path.Add( q.GetString(0) );
306 }
307 }
308 stmt.Finalize();
309 ccndb.Close();
310
311 return path;
312 }
313
314 /* 指定日のパスを取得 */
315 wxArrayString GetPathesByDate( wxString date )
316 {
317 wxArrayString path;
318
319 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
320 wxSQLite3Database ccndb;
321 ccndb.Open( gszFile );
322
323 wxSQLite3Statement stmt = ccndb.PrepareStatement( "SELECT path FROM path WHERE date = ?" );
324 stmt.Bind( 1, date );
300 wxSQLite3ResultSet q = stmt.ExecuteQuery(); 325 wxSQLite3ResultSet q = stmt.ExecuteQuery();
301 326
302 if ( !q.IsNull(0) ) { 327 if ( !q.IsNull(0) ) {
303 while ( q.NextRow() ) { 328 while ( q.NextRow() ) {
304 path.Add( q.GetString(0) ); 329 path.Add( q.GetString(0) );