From: <oma...@us...> - 2009-12-04 02:28:37
|
Revision: 848 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=848&view=rev Author: omalleypat Date: 2009-12-04 02:28:30 +0000 (Fri, 04 Dec 2009) Log Message: ----------- cleanup sql query syntax Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2009-11-30 20:46:40 UTC (rev 847) +++ trunk/mmex/src/dbwrapper.cpp 2009-12-04 02:28:30 UTC (rev 848) @@ -2135,17 +2135,19 @@ wxArrayString mmDBWrapper::filterPayees(wxSQLite3Database* db, const wxString& patt) { + + wxSQLite3Statement st = db->PrepareStatement("select PAYEENAME from PAYEE_V1 where PAYEENAME LIKE ? ORDER BY PAYEENAME"); + st.Bind(1, patt+wxT("%")); + wxSQLite3ResultSet q1 = st.ExecuteQuery(); + wxArrayString flist; - wxString sql; - sql.Printf(wxT("select PAYEENAME from PAYEE_V1 where PAYEENAME LIKE '%s%%' ORDER BY PAYEENAME"),patt.c_str()); - - wxSQLite3Statement st = db->PrepareStatement(sql); - wxSQLite3ResultSet q1 = st.ExecuteQuery(); + while (q1.NextRow()) { flist.Add(q1.GetString(wxT("PAYEENAME"))); } st.Finalize(); + q1.Finalize(); return flist; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kkk...@us...> - 2009-12-06 10:18:55
|
Revision: 860 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=860&view=rev Author: kkkvadim Date: 2009-12-06 10:18:49 +0000 (Sun, 06 Dec 2009) Log Message: ----------- - currencies.Open(fName); + currencies.Open(fName, wxGetEmptyString(), WXSQLITE_OPEN_READONLY); Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2009-12-06 10:18:02 UTC (rev 859) +++ trunk/mmex/src/dbwrapper.cpp 2009-12-06 10:18:49 UTC (rev 860) @@ -74,11 +74,11 @@ "UNIT_NAME, CENT_NAME, SCALE, BASECONVRATE, CURRENCY_SYMBOL " " ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, '' )"; - wxString fName = mmex::getPathShared(mmex::CURRENCY_DB_SEED); + wxString fName = mmex::getPathResource(mmex::CURRENCY_DB_SEED); wxASSERT(wxFileName::FileExists(fName)); wxSQLite3Database currencies; - currencies.Open(fName); + currencies.Open(fName, wxGetEmptyString(), WXSQLITE_OPEN_READONLY); { bool ok = currencies.TableExists(wxT("CURRENCYFORMATS_V1")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kkk...@us...> - 2009-12-13 11:57:31
|
Revision: 877 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=877&view=rev Author: kkkvadim Date: 2009-12-13 11:57:25 +0000 (Sun, 13 Dec 2009) Log Message: ----------- butify Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2009-12-12 15:07:45 UTC (rev 876) +++ trunk/mmex/src/dbwrapper.cpp 2009-12-13 11:57:25 UTC (rev 877) @@ -1814,21 +1814,24 @@ void mmDBWrapper::verifyINIDB(wxSQLite3Database* inidb) { - wxASSERT(inidb); + wxASSERT(inidb); - bool exists = inidb->TableExists(wxT("SETTING_V1")); - if (!exists) - { - /* Create INFOTABLE_V1 Table */ - inidb->ExecuteUpdate(wxT("create table SETTING_V1(SETTINGID integer primary key, \ - SETTINGNAME TEXT NOT NULL, SETTINGVALUE TEXT)")); + bool ok = inidb->TableExists(wxT("SETTING_V1")); + if (ok) + return; - { - bool ok = inidb->TableExists(wxT("SETTING_V1")); - wxASSERT(ok); - ok = ok; // removes compiler's warning - } - } + static const char sql[] = + "create table SETTING_V1" + "( " + "SETTINGID integer not null primary key, " + "SETTINGNAME TEXT NOT NULL, " + "SETTINGVALUE TEXT " + " )"; + + inidb->ExecuteUpdate(sql); + + ok = inidb->TableExists(wxT("SETTING_V1")); + wxASSERT(ok); } wxString mmDBWrapper::getINISettingValue(wxSQLite3Database* db, const wxString& settingName, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kkk...@us...> - 2010-05-15 10:52:28
|
Revision: 923 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=923&view=rev Author: kkkvadim Date: 2010-05-15 10:52:22 +0000 (Sat, 15 May 2010) Log Message: ----------- fix: Format("%s"), wxString Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2010-05-14 13:54:23 UTC (rev 922) +++ trunk/mmex/src/dbwrapper.cpp 2010-05-15 10:52:22 UTC (rev 923) @@ -2810,7 +2810,9 @@ db->Close(); - wxString s = wxString::Format(_("\n%s\nNot a writeable database\nYou must have write permission to that file"), dbpath); + wxString s = wxString::Format(_("\n%s\nNot a writeable database\nYou must have write permission to that file"), + dbpath.c_str()); + throw wxSQLite3Exception(err, s); } //---------------------------------------------------------------------------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ste...@us...> - 2010-11-21 03:39:39
|
Revision: 1011 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1011&view=rev Author: stef145g Date: 2010-11-21 03:39:33 +0000 (Sun, 21 Nov 2010) Log Message: ----------- Asset rate calculation changed to compound interest and improved year accuracy. Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2010-11-21 03:32:55 UTC (rev 1010) +++ trunk/mmex/src/dbwrapper.cpp 2010-11-21 03:39:33 UTC (rev 1011) @@ -2650,11 +2650,27 @@ if (todayDate > startDate) { int numYears = todayDate.GetYear() - startDate.GetYear(); + +// improve the accuracy of number of years calculation + int numMonths = todayDate.GetMonth() - startDate.GetMonth(); + int numDays = todayDate.GetDay() - startDate.GetDay(); + if ( (numMonths >= 0 ) && (numDays < 0) ) numMonths --; + if ( (numYears > 0 ) && (numMonths < 0 )) numYears -- ; + if (numYears > 0) { - double appreciation = numYears * valueChangeRate * value / 100; - assetValue = value + appreciation; - } +// double appreciation = numYears * valueChangeRate * value / 100; +// assetValue = value + appreciation; + +// Calculation changed to compound interest. + while (numYears > 0) + { + double appreciation = valueChangeRate * value / 100; + assetValue = value + appreciation; + value = assetValue; + numYears --; + } + } else assetValue = value; } @@ -2668,9 +2684,18 @@ int numYears = todayDate.GetYear() - startDate.GetYear(); if (numYears > 0) { - double depreciation = numYears * valueChangeRate * value / 100; - assetValue = value - depreciation; - } +// double depreciation = numYears * valueChangeRate * value / 100; +// assetValue = value - depreciation; + +// Calculation changed to compound interest. + while (numYears > 0) + { + double depreciation = valueChangeRate * value / 100; + assetValue = value - depreciation; + value = assetValue; + numYears --; + } + } else assetValue = value; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2011-01-03 18:14:12
|
Revision: 1061 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1061&view=rev Author: vomikan Date: 2011-01-03 18:14:06 +0000 (Mon, 03 Jan 2011) Log Message: ----------- If payeeid not null for transfer transaction do not count it when deleting Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2011-01-03 01:17:15 UTC (rev 1060) +++ trunk/mmex/src/dbwrapper.cpp 2011-01-03 18:14:06 UTC (rev 1061) @@ -1630,11 +1630,13 @@ bool mmDBWrapper::deletePayeeWithConstraints(wxSQLite3Database* db, int payeeID) { - wxSQLite3Statement st = db->PrepareStatement("select 1 " - "from CHECKINGACCOUNT_V1 " - "where PAYEEID = ? " - "limit 1" // return just one row - ); + static const char sql[] = + "select 1 " + "from CHECKINGACCOUNT_V1 " + "where transcode <> 'Transfer' " //for transfer transactions payee id should be null. if not null jast ignore it + "and PAYEEID = ? " + "limit 1"; + wxSQLite3Statement st = db->PrepareStatement(sql); st.Bind(1, payeeID); @@ -1675,8 +1677,8 @@ wxSQLite3ResultSet q1 = st.ExecuteQuery(); if (q1.NextRow()) { - payeeName = q1.GetString(wxT("PAYEENAME")); - categID = q1.GetInt(wxT("CATEGID")); + payeeName = q1.GetString(wxT("PAYEENAME")); + categID = q1.GetInt(wxT("CATEGID")); subcategID = q1.GetInt(wxT("SUBCATEGID")); } st.Finalize(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2011-06-02 12:30:23
|
Revision: 1305 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1305&view=rev Author: vomikan Date: 2011-06-02 12:30:16 +0000 (Thu, 02 Jun 2011) Log Message: ----------- new db creation speed improvement Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2011-06-02 01:04:40 UTC (rev 1304) +++ trunk/mmex/src/dbwrapper.cpp 2011-06-02 12:30:16 UTC (rev 1305) @@ -91,7 +91,7 @@ wxSQLite3ResultSet rs = currencies.ExecuteQuery(sql); wxSQLite3Statement st = db->PrepareStatement(sql2); - + while(rs.NextRow()) { int i = 0; @@ -312,7 +312,6 @@ insertCategoryTree(db, st_cat, st_subcat, _("Transfer"), 0); // cleanup - st_subcat.Finalize(); st_cat.Finalize(); } @@ -379,7 +378,6 @@ st.ExecuteUpdate(); st.Reset(); } - st.Finalize(); } } @@ -723,6 +721,7 @@ void mmDBWrapper::initDB(wxSQLite3Database* db, wxProgressDialog* pgd) { /* Create INFOTABLE_V1 Tables */ + mmDBWrapper::begin(db); createInfoV1Table(db); if (pgd) pgd->Update(10); @@ -784,6 +783,7 @@ /* Remove Any cruft */ removeCruft(db); + mmDBWrapper::commit(db); } int mmDBWrapper::getNumAccounts(wxSQLite3Database* db) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ste...@us...> - 2011-06-08 14:10:30
|
Revision: 1313 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1313&view=rev Author: stef145g Date: 2011-06-08 14:10:19 +0000 (Wed, 08 Jun 2011) Log Message: ----------- Update to original filtering Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2011-06-08 12:43:42 UTC (rev 1312) +++ trunk/mmex/src/dbwrapper.cpp 2011-06-08 14:10:19 UTC (rev 1313) @@ -2011,16 +2011,15 @@ wxArrayString mmDBWrapper::filterPayees(wxSQLite3Database* db, const wxString& patt) { - - wxSQLite3Statement st = db->PrepareStatement("select PAYEENAME from PAYEE_V1 where PAYEENAME LIKE ? ORDER BY PAYEENAME"); - st.Bind(1, wxT("%")+patt+wxT("%")); + wxSQLite3Statement st = db->PrepareStatement("select PAYEENAME from PAYEE_V1 where PAYEENAME LIKE ? ORDER BY PAYEENAME"); + st.Bind(1, patt + wxT("%")); wxSQLite3ResultSet q1 = st.ExecuteQuery(); wxArrayString flist; while (q1.NextRow()) { - flist.Add(q1.GetString(wxT("PAYEENAME"))); + flist.Add(q1.GetString(wxT("PAYEENAME"))); } st.Finalize(); q1.Finalize(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2011-09-13 16:14:33
|
Revision: 1451 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1451&view=rev Author: vomikan Date: 2011-09-13 16:14:24 +0000 (Tue, 13 Sep 2011) Log Message: ----------- alldata view updated Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2011-09-12 19:13:14 UTC (rev 1450) +++ trunk/mmex/src/dbwrapper.cpp 2011-09-13 16:14:24 UTC (rev 1451) @@ -643,36 +643,55 @@ static const char view_name[] = "ALLDATA"; static const char sql[] = -"create view alldata as " -"select CANS.TransID as ID, CANS.TransCode as TransactionType, CANS.TransDate as Date, \n" -"coalesce(CAT.CategName, SCAT.CategName) as Category, \n" -"coalesce(SUBCAT.SUBCategName, SSCAT.SUBCategName) as Subcategory, \n" -"ROUND((case CANS.TRANSCODE when 'Withdrawal' then -1 else 1 end)*(case CANS.CATEGID when -1 then st.splittransamount else CANS.TRANSAMOUNT end),2) as Amount, \n" -"cf.currency_symbol as currency, \n" -"CANS.Status as Status, CANS.NOTES as Notes, \n" -"cf.BaseConvRate as BaseConvRate, \n" -"FROMACC.CurrencyID as CurrencyID, \n" -"FROMACC.AccountName as AccountName, FROMACC.AccountID as AccountID, TOACC.AccountName as ToAccountName, \n" -"TOACC.ACCOUNTId as ToAccountID, CANS.ToTransAmount ToTransAmount, TOACC.CURRENCYID as ToCurrencyID, \n" -"(case ifnull(CANS.CATEGID,-1) when -1 then 1 else 0 end) as Splitted, \n" -"ifnull(CAT.CategId,st.CategId) as CategID, \n" -"ifnull(SUBCAT.SubCategID,st.subCategId) as SubCategID, \n" -"PAYEE.PayeeName as Payee, PAYEE.PayeeID as PayeeID, \n" -"CANS.TRANSACTIONNUMBER as TransactionNumber, \n" -"round(strftime('%Y', CANS.TransDate)) as Year, \n" -"round(strftime('%m', CANS.TransDate)) as Month, \n" -"round(strftime('%d', CANS.TransDate)) as Day \n" -"from CHECKINGACCOUNT_V1 CANS \n" -"left join CATEGORY_V1 CAT on CAT.CATEGID = CANS.CATEGID \n" -"left join SUBCATEGORY_V1 SUBCAT on SUBCAT.SUBCATEGID = CANS.SUBCATEGID and SUBCAT.CATEGID = CANS.CATEGID \n" -"left join PAYEE_V1 PAYEE on PAYEE.PAYEEID = CANS.PAYEEID \n" -"left join ACCOUNTLIST_V1 FROMACC on FROMACC.ACCOUNTID = CANS.ACCOUNTID \n" -"left join ACCOUNTLIST_V1 TOACC on TOACC.ACCOUNTID = CANS.TOACCOUNTID \n" -"left join splittransactions_v1 st on CANS.transid=st.transid \n" -"left join CATEGORY_V1 SCAT on SCAT.CATEGID = st.CATEGID and CANS.TransId=st.transid \n" -"left join SUBCATEGORY_V1 SSCAT on SSCAT.SUBCATEGID = st.SUBCATEGID and SSCAT.CATEGID = st.CATEGID and CANS.TransId=st.transid \n" -"left join currencyformats_v1 cf on cf.currencyid=FROMACC.currencyid \n" -"order by CANS.transid"; + "create view alldata as " + "select \n" + " CANS.TransID as ID, CANS.TransCode as TransactionType, \n" + " CANS.TransDate as Date, \n" + " d.userdate as UserDate \n" + " ,coalesce(CAT.CategName, SCAT.CategName) as Category, \n" + " coalesce(SUBCAT.SUBCategName, SSCAT.SUBCategName, '') as Subcategory, \n" + " ROUND((case CANS.TRANSCODE when 'Withdrawal' then -1 else 1 end)*(case CANS.CATEGID when -1 then st.splittransamount else CANS.TRANSAMOUNT end),2) as Amount, \n" + " cf.currency_symbol as currency, \n" + " CANS.Status as Status, CANS.NOTES as Notes, \n" + " cf.BaseConvRate as BaseConvRate, \n" + " FROMACC.CurrencyID as CurrencyID, \n" + " FROMACC.AccountName as AccountName, FROMACC.AccountID as AccountID, \n" + " ifnull (TOACC.AccountName,'') as ToAccountName, \n" + " ifnull (TOACC.ACCOUNTId,-1) as ToAccountID, CANS.ToTransAmount ToTransAmount, \n" + " ifnull (TOACC.CURRENCYID, -1) as ToCurrencyID, \n" + " (case ifnull(CANS.CATEGID,-1) when -1 then 1 else 0 end) as Splitted, \n" + " ifnull(CAT.CategId,st.CategId) as CategID, \n" + " ifnull (ifnull(SUBCAT.SubCategID,st.subCategId),-1) as SubCategID, \n" + " ifnull (PAYEE.PayeeName,'') as Payee, \n" + " ifnull (PAYEE.PayeeID,-1) as PayeeID, \n" + " CANS.TRANSACTIONNUMBER as TransactionNumber, \n" + " d.year as Year, \n" + " d.month as Month, \n" + " d.day as Day, \n" + " d.finyear as FinYear \n" + " from CHECKINGACCOUNT_V1 CANS \n" + " left join CATEGORY_V1 CAT on CAT.CATEGID = CANS.CATEGID \n" + " left join SUBCATEGORY_V1 SUBCAT on SUBCAT.SUBCATEGID = CANS.SUBCATEGID and SUBCAT.CATEGID = CANS.CATEGID \n" + " left join PAYEE_V1 PAYEE on PAYEE.PAYEEID = CANS.PAYEEID \n" + " left join ACCOUNTLIST_V1 FROMACC on FROMACC.ACCOUNTID = CANS.ACCOUNTID \n" + " left join ACCOUNTLIST_V1 TOACC on TOACC.ACCOUNTID = CANS.TOACCOUNTID \n" + " left join splittransactions_v1 st on CANS.transid=st.transid \n" + " left join CATEGORY_V1 SCAT on SCAT.CATEGID = st.CATEGID and CANS.TransId=st.transid \n" + " left join SUBCATEGORY_V1 SSCAT on SSCAT.SUBCATEGID = st.SUBCATEGID and SSCAT.CATEGID = st.CATEGID and CANS.TransId=st.transid \n" + " left join currencyformats_v1 cf on cf.currencyid=FROMACC .currencyid \n" + " left join ( select transid as id , transdate \n" + ",round (strftime('%d', transdate)) as day \n" + ",round (strftime('%m', transdate)) as month \n" + ",round (strftime('%Y', transdate)) as year \n" + ",round(strftime('%Y', transdate ,'start of month', ((case when fd.infovalue<=round(strftime('%d', transdate )) then 1 else 0 end)-fm.infovalue)||' month')) as finyear \n" + ",ifnull (ifnull (strftime(df.infovalue, TransDate), \n" + " (strftime(replace (df.infovalue, '%y', SubStr (strftime('%Y',TransDate),3,2)),TransDate)) \n" + " ), TransDate) as UserDate \n" + "from CHECKINGACCOUNT_V1 \n" + "left join infotable_v1 df on df.infoname='DATEFORMAT' \n" + "left join infotable_v1 fm on fm.infoname='FINANCIAL_YEAR_START_MONTH' \n" + "left join infotable_v1 fd on fd.infoname='FINANCIAL_YEAR_START_DAY') d on d.id=CANS.TRANSID \n" + "order by CANS.transid"; bool exists = ViewExists(db, view_name); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2011-11-04 21:46:28
|
Revision: 1504 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1504&view=rev Author: vomikan Date: 2011-11-04 21:46:22 +0000 (Fri, 04 Nov 2011) Log Message: ----------- updated. it was error in previous update Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2011-11-04 21:36:35 UTC (rev 1503) +++ trunk/mmex/src/dbwrapper.cpp 2011-11-04 21:46:22 UTC (rev 1504) @@ -686,7 +686,7 @@ ",round(strftime('%Y', transdate, 'localtime' ,'start of month', ((case when fd.infovalue<=round(strftime('%d', transdate , 'localtime')) then 1 else 0 end)-fm.infovalue)||' month')) as finyear \n" ",ifnull (ifnull (strftime(df.infovalue, TransDate, 'localtime'), \n" " (strftime(replace (df.infovalue, '%y', SubStr (strftime('%Y',TransDate, 'localtime'),3,2)),TransDate, 'localtime')) \n" - " ), TransDate, 'localtime') as UserDate \n" + " ), date(TransDate, 'localtime')) as UserDate \n" "from CHECKINGACCOUNT_V1 \n" "left join infotable_v1 df on df.infoname='DATEFORMAT' \n" "left join infotable_v1 fm on fm.infoname='FINANCIAL_YEAR_START_MONTH' \n" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2011-11-18 08:14:23
|
Revision: 1514 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1514&view=rev Author: vomikan Date: 2011-11-18 08:14:16 +0000 (Fri, 18 Nov 2011) Log Message: ----------- Sequentially numbered for account Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2011-11-18 07:44:01 UTC (rev 1513) +++ trunk/mmex/src/dbwrapper.cpp 2011-11-18 08:14:16 UTC (rev 1514) @@ -643,7 +643,7 @@ static const char view_name[] = "ALLDATA"; static const char sql[] = - "create view alldata as " + "create view alldata as " "select \n" " CANS.TransID as ID, CANS.TransCode as TransactionType, \n" " date(CANS.TransDate, 'localtime') as Date, \n" @@ -741,70 +741,116 @@ { /* Create INFOTABLE_V1 Tables */ mmDBWrapper::begin(db); + //if (verbose) + wxSafeShowMessage(wxT("createInfoV1Table"), wxT("OK")); createInfoV1Table(db); if (pgd) pgd->Update(10); /* Create Currency Settings */ + wxSafeShowMessage(wxT("createCurrencyV1Table"), wxT("OK")); createCurrencyV1Table(db); if (pgd) pgd->Update(20); /* Create ACCOUNTLIST_V1 Tables */ + wxSafeShowMessage(wxT("createAccountListV1Table"), wxT("OK")); createAccountListV1Table(db); if (pgd) pgd->Update(30); /* Create CHECKINGACCOUNT_V1 Tables */ + wxSafeShowMessage(wxT("createCheckingAccountV1Table"), wxT("OK")); createCheckingAccountV1Table(db); if (pgd) pgd->Update(40); /* Create PAYEE_V1 Tables */ + wxSafeShowMessage(wxT("createPayeeV1Table"), wxT("OK")); createPayeeV1Table(db); if (pgd) pgd->Update(50); /* Create CATEGORY_V1 Tables */ + wxSafeShowMessage(wxT("createCategoryV1Table"), wxT("OK")); createCategoryV1Table(db); if (pgd) pgd->Update(60); /* Create Budgeting_V1 Tables */ + wxSafeShowMessage(wxT("createBudgetingV1Table"), wxT("OK")); createBudgetingV1Table(db); if (pgd) pgd->Update(75); /* Create Bills & Deposits V1 Table */ + wxSafeShowMessage(wxT("createBillsDepositsV1Table"), wxT("OK")); createBillsDepositsV1Table(db); if (pgd) pgd->Update(80); /* Create Stock V1 Table */ + wxSafeShowMessage(wxT("createStockV1Table"), wxT("OK")); createStockV1Table(db); if (pgd) pgd->Update(85); - /* Create Asset V1 Table */ - createAssetsV1Table(db); + /* Create Asset V1 Table */ + wxSafeShowMessage(wxT("createAssetsV1Table"), wxT("OK")); + createAssetsV1Table(db); if (pgd) - pgd->Update(90); + pgd->Update(90); - /* Create SplitTransactions V1 Table */ - createSplitTransactionsV1Table(db); + /* Create SplitTransactions V1 Table */ + wxSafeShowMessage(wxT("createSplitTransactionsV1Table"), wxT("OK")); + createSplitTransactionsV1Table(db); if (pgd) - pgd->Update(95); + pgd->Update(95); - /* Create AllData view */ + /* Create AllData view */ + wxSafeShowMessage(wxT("createAllDataView"), wxT("OK")); createAllDataView(db); if (pgd) pgd->Update(99); /* Remove Any cruft */ - removeCruft(db); - mmDBWrapper::commit(db); + //removeCruft(db); + //mmDBWrapper::commit(db); + wxSafeShowMessage(wxT("removeCruft"), wxT("OK")); } +bool mmDBWrapper::checkDBIntegrity(wxSQLite3Database* db, wxProgressDialog* pgd) +{ + bool exists=true; + wxSafeShowMessage(wxT("Info"), wxT("Checking if tables available")); + const wxString tables[] = { + wxT("INFOTABLE_V1"), + wxT("CURRENCYFORMATS_V1"), + wxT("BUDGETYEAR_V1"), + wxT("STOCK_V1"), + wxT("ASSETS_V1"), + wxT("BILLSDEPOSITS_V1"), + wxT("ACCOUNTLIST_V1"), + wxT("CHECKINGACCOUNT_V1"), + wxT("SPLITTRANSACTIONS_V1"), + wxT("BUDGETSPLITTRANSACTIONS_V1"), + wxT("PAYEE_V1"), + wxT("CATEGORY_V1"), + wxT("SUBCATEGORY_V1")}; + + for (int n=0; n<13; n++) + { + if (!db->TableExists(tables[n])) + exists = false; + //if (verbose) + wxSafeShowMessage(tables[n], (exists ? wxT("OK") : wxT("NO"))); + if (pgd) + pgd->Update(n*7); + } + + return (exists); +} + int mmDBWrapper::getNumAccounts(wxSQLite3Database* db) { int num = db->ExecuteScalar("select count(*) from ACCOUNTLIST_V1"); @@ -978,7 +1024,7 @@ grpChar = grp.GetChar(0); } - mmex::CurrencyFormatter::instance().loadSettings(pfxSymbol, sfxSymbol, decChar, grpChar, unit, cent, scaleDl); + mmex::CurrencyFormatter::instance().loadSettings(pfxSymbol, sfxSymbol, decChar, grpChar, unit, cent, scaleDl); } else { wxASSERT(true); @@ -989,7 +1035,7 @@ double mmDBWrapper::getInitBalanceOnAccount(wxSQLite3Database* db, int accountID) { - static const char sql[] = + static const char sql[] = "select INITIALBAL " "from ACCOUNTLIST_V1 " "where ACCOUNTID = ?"; @@ -1712,13 +1758,13 @@ bool ok=false; try { - ok = inidb->TableExists(wxT("SETTING_V1")); - } - catch (wxSQLite3Exception e) - { - wxLogDebug(wxT("Database::TableExists: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); - } + ok = inidb->TableExists(wxT("SETTING_V1")); + } + catch (wxSQLite3Exception e) + { + wxLogDebug(wxT("Database::TableExists: Exception"), e.GetMessage().c_str()); + wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); + } if (ok) return; @@ -1733,21 +1779,21 @@ { inidb->ExecuteUpdate(sql); } - catch (wxSQLite3Exception e) - { + catch (wxSQLite3Exception e) + { wxLogDebug(wxT("Database::ExecuteUpdate: Exception: %s"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); - } + } try { ok = inidb->TableExists(wxT("SETTING_V1")); } - catch (wxSQLite3Exception e) - { + catch (wxSQLite3Exception e) + { wxLogDebug(wxT("Database::TableExists: Exception: %s"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); - } + } wxFAIL; wxASSERT(!ok); @@ -2061,40 +2107,40 @@ { wxSQLite3Statement st = db->PrepareStatement("select PAYEENAME from PAYEE_V1 where PAYEENAME LIKE ? ORDER BY PAYEENAME"); st.Bind(1, patt + wxT("%")); - wxSQLite3ResultSet q1 = st.ExecuteQuery(); - - wxArrayString flist; - - while (q1.NextRow()) - { + wxSQLite3ResultSet q1 = st.ExecuteQuery(); + + wxArrayString flist; + + while (q1.NextRow()) + { flist.Add(q1.GetString(wxT("PAYEENAME"))); - } - st.Finalize(); - q1.Finalize(); - return flist; + } + st.Finalize(); + q1.Finalize(); + return flist; } void mmDBWrapper::addBudgetYear(wxSQLite3Database* db, const wxString &year) { - wxSQLite3Statement st = db->PrepareStatement("insert into BUDGETYEAR_V1 (BUDGETYEARNAME) values (?)"); - st.Bind(1, year); + wxSQLite3Statement st = db->PrepareStatement("insert into BUDGETYEAR_V1 (BUDGETYEARNAME) values (?)"); + st.Bind(1, year); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } int mmDBWrapper::getBudgetYearID(wxSQLite3Database* db, const wxString &year) { int budgetYearID = -1; - wxSQLite3Statement st = db->PrepareStatement("select BUDGETYEARID " + wxSQLite3Statement st = db->PrepareStatement("select BUDGETYEARID " "from BUDGETYEAR_V1 " "where BUDGETYEARNAME = ?" ); st.Bind(1, year); - wxSQLite3ResultSet q1 = st.ExecuteQuery(); + wxSQLite3ResultSet q1 = st.ExecuteQuery(); if (q1.NextRow()) { budgetYearID = q1.GetInt(wxT("BUDGETYEARID")); @@ -2106,33 +2152,34 @@ int mmDBWrapper::getTransIDByDate(wxSQLite3Database* db, const wxString &byDate, int accountID) { - static const char sql[] = - "select max(cast(TRANSACTIONNUMBER as integer)) as MaxTransID " - "from CHECKINGACCOUNT_V1 " - "where date(TRANSDATE, 'localtime') = ? and " - "ACCOUNTID = ?"; + static const char sql[] = + "select ifnull(max(cast(TRANSACTIONNUMBER as integer)),0)+1 as MaxTransID " + "from CHECKINGACCOUNT_V1 " + "where ACCOUNTID = ? " + "--and date(TRANSDATE, 'localtime') = ? "; - int transID = 1; + int transID = 1; - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, byDate); - st.Bind(2, accountID); + wxSQLite3Statement st = db->PrepareStatement(sql); + st.Bind(1, accountID); + //Make a numbered consecutively + //st.Bind(2, byDate); - wxSQLite3ResultSet q1 = st.ExecuteQuery(); + wxSQLite3ResultSet q1 = st.ExecuteQuery(); if (q1.NextRow()) { - transID = q1.GetInt(wxT("MaxTransID")) + 1; + transID = q1.GetInt(wxT("MaxTransID")); } st.Finalize(); - return transID; + return transID; } wxString mmDBWrapper::getBudgetYearForID(wxSQLite3Database* db, int yearid) { wxString budgetYear; - wxSQLite3Statement st = db->PrepareStatement("select BUDGETYEARNAME " + wxSQLite3Statement st = db->PrepareStatement("select BUDGETYEARNAME " "from BUDGETYEAR_V1 " "where BUDGETYEARID = ?" ); @@ -2152,21 +2199,21 @@ void mmDBWrapper::updateYearForID(wxSQLite3Database* db, const wxString& yearName, int yearid) { - wxSQLite3Statement st = db->PrepareStatement("update BUDGETYEAR_V1 " - "SET BUDGETYEARNAME = ? " - "WHERE BUDGETYEARID = ?" - ); + wxSQLite3Statement st = db->PrepareStatement("update BUDGETYEAR_V1 " + "SET BUDGETYEARNAME = ? " + "WHERE BUDGETYEARID = ?" + ); - st.Bind(1, yearName); - st.Bind(2, yearid); + st.Bind(1, yearName); + st.Bind(2, yearid); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } bool mmDBWrapper::copyBudgetYear(wxSQLite3Database* db, int newYear, int baseYear) { - static const char sql[] = + static const char sql[] = "insert into BUDGETTABLE_V1 ( " "BUDGETYEARID, " "CATEGID, " @@ -2176,18 +2223,18 @@ ") " "select ?, " "CATEGID, " - "SUBCATEGID, " - "PERIOD, " - "AMOUNT " - "from BUDGETTABLE_V1 " - "WHERE BUDGETYEARID = ?"; - + "SUBCATEGID, " + "PERIOD, " + "AMOUNT " + "from BUDGETTABLE_V1 " + "WHERE BUDGETYEARID = ?"; + if (newYear == baseYear) return false; - wxSQLite3Statement st = db->PrepareStatement(sql); + wxSQLite3Statement st = db->PrepareStatement(sql); st.Bind(1, newYear); - st.Bind(2, baseYear); + st.Bind(2, baseYear); st.ExecuteUpdate(); st.Finalize(); @@ -2222,30 +2269,30 @@ void mmDBWrapper::addBudgetEntry(wxSQLite3Database* db, int budgetYearID, int categID, int subCategID, const wxString& period, double amount) { - static const char sql[] = - "insert into BUDGETTABLE_V1 ( " - "BUDGETYEARID, " - "CATEGID, " + static const char sql[] = + "insert into BUDGETTABLE_V1 ( " + "BUDGETYEARID, " + "CATEGID, " "SUBCATEGID, " - "PERIOD, " - "AMOUNT " - ") values ( " - "?, ?, ?, ?, ? " - ")"; - - wxSQLite3Statement st = db->PrepareStatement(sql); - - int i = 0; - st.Bind(++i, budgetYearID); - st.Bind(++i, categID); - st.Bind(++i, subCategID); - st.Bind(++i, period); - st.Bind(++i, amount); + "PERIOD, " + "AMOUNT " + ") values ( " + "?, ?, ?, ?, ? " + ")"; + + wxSQLite3Statement st = db->PrepareStatement(sql); + + int i = 0; + st.Bind(++i, budgetYearID); + st.Bind(++i, categID); + st.Bind(++i, subCategID); + st.Bind(++i, period); + st.Bind(++i, amount); wxASSERT(st.GetParamCount() == i); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } void mmDBWrapper::deleteBudgetEntry(wxSQLite3Database* db, int budgetEntryID) @@ -2254,26 +2301,26 @@ st.Bind(1, budgetEntryID); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } void mmDBWrapper::updateBudgetEntry(wxSQLite3Database* db, int budgetYearID, int categID, int subCategID, const wxString& period, double amount) { - static const char sql[] = - "delete from BUDGETTABLE_V1 " + static const char sql[] = + "delete from BUDGETTABLE_V1 " "where BUDGETENTRYID in( select BUDGETENTRYID " - "from BUDGETTABLE_V1 " - "WHERE BUDGETYEARID = ? AND " - "CATEGID = ? AND " - "SUBCATEGID = ? " + "from BUDGETTABLE_V1 " + "WHERE BUDGETYEARID = ? AND " + "CATEGID = ? AND " + "SUBCATEGID = ? " ")"; - - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, budgetYearID); - st.Bind(2, categID); - st.Bind(3, subCategID); + + wxSQLite3Statement st = db->PrepareStatement(sql); + st.Bind(1, budgetYearID); + st.Bind(2, categID); + st.Bind(3, subCategID); st.ExecuteUpdate(); st.Finalize(); @@ -2284,20 +2331,20 @@ bool mmDBWrapper::getBudgetEntry(wxSQLite3Database* db, int budgetYearID, int categID, int subCategID, wxString& period, double& amount) { - static const char sql[] = - "select PERIOD, " - "AMOUNT " - "from BUDGETTABLE_V1 " - "WHERE BUDGETYEARID = ? AND " - "CATEGID = ? AND " - "SUBCATEGID = ?"; - - bool found = false; + static const char sql[] = + "select PERIOD, " + "AMOUNT " + "from BUDGETTABLE_V1 " + "WHERE BUDGETYEARID = ? AND " + "CATEGID = ? AND " + "SUBCATEGID = ?"; + + bool found = false; - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, budgetYearID); - st.Bind(2, categID); - st.Bind(3, subCategID); + wxSQLite3Statement st = db->PrepareStatement(sql); + st.Bind(1, budgetYearID); + st.Bind(2, categID); + st.Bind(3, subCategID); wxSQLite3ResultSet q1 = st.ExecuteQuery(); @@ -2308,9 +2355,9 @@ amount = q1.GetDouble(wxT("AMOUNT")); } - st.Finalize(); + st.Finalize(); - return found; + return found; } void mmDBWrapper::deleteBDSeries(wxSQLite3Database* db, int bdID) @@ -2333,20 +2380,20 @@ void mmDBWrapper::completeBDInSeries(wxSQLite3Database* db, int bdID) { - static const char sql[] = - "select NUMOCCURRENCES, " - "date(NEXTOCCURRENCEDATE, 'localtime') as NEXTOCCURRENCEDATE, " - "REPEATS " - "from BILLSDEPOSITS_V1 " - "WHERE BDID = ?"; - + static const char sql[] = + "select NUMOCCURRENCES, " + "date(NEXTOCCURRENCEDATE, 'localtime') as NEXTOCCURRENCEDATE, " + "REPEATS " + "from BILLSDEPOSITS_V1 " + "WHERE BDID = ?"; + wxDateTime updateOccur = wxDateTime::Now(); int numRepeats = -1; - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, bdID); + wxSQLite3Statement st = db->PrepareStatement(sql); + st.Bind(1, bdID); - wxSQLite3ResultSet q1 = st.ExecuteQuery(); + wxSQLite3ResultSet q1 = st.ExecuteQuery(); if (q1.NextRow()) { @@ -2414,34 +2461,34 @@ } } - st.Finalize(); + st.Finalize(); - { - static const char sql[] = - "update BILLSDEPOSITS_V1 " - "set NEXTOCCURRENCEDATE = ?, " - "NUMOCCURRENCES = ? " - "where BDID = ?"; + { + static const char sql[] = + "update BILLSDEPOSITS_V1 " + "set NEXTOCCURRENCEDATE = ?, " + "NUMOCCURRENCES = ? " + "where BDID = ?"; - wxSQLite3Statement st = db->PrepareStatement(sql); + wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, updateOccur.FormatISODate()); - st.Bind(2, numRepeats); - st.Bind(3, bdID); + st.Bind(1, updateOccur.FormatISODate()); + st.Bind(2, numRepeats); + st.Bind(3, bdID); - st.ExecuteUpdate(); - st.Finalize(); - } + st.ExecuteUpdate(); + st.Finalize(); + } - db->ExecuteUpdate("delete from BILLSDEPOSITS_V1 where NUMOCCURRENCES = 0"); + db->ExecuteUpdate("delete from BILLSDEPOSITS_V1 where NUMOCCURRENCES = 0"); } void mmDBWrapper::deleteStockInvestment(wxSQLite3Database* db, int stockID) { - wxSQLite3Statement st = db->PrepareStatement("delete from STOCK_V1 where STOCKID = ?"); + wxSQLite3Statement st = db->PrepareStatement("delete from STOCK_V1 where STOCKID = ?"); st.Bind(1, stockID); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } double mmDBWrapper::getStockInvestmentBalance(wxSQLite3Database* db, double& invested) @@ -2475,13 +2522,13 @@ double balance = 0.0; originalVal = 0.0; - static const char sql[] = - "select VALUE, " - "NUMSHARES, " - "PURCHASEPRICE, " - "COMMISSION " - "from STOCK_V1 " - "where HELDAT = ?"; + static const char sql[] = + "select VALUE, " + "NUMSHARES, " + "PURCHASEPRICE, " + "COMMISSION " + "from STOCK_V1 " + "where HELDAT = ?"; wxSQLite3Statement st = db->PrepareStatement(sql); st.Bind(1, accountID); @@ -2512,22 +2559,22 @@ void mmDBWrapper::deleteAsset(wxSQLite3Database* db, int assetID) { - wxSQLite3Statement st = db->PrepareStatement("delete from ASSETS_V1 where ASSETID = ?"); - st.Bind(1, assetID); - st.ExecuteUpdate(); - st.Finalize(); + wxSQLite3Statement st = db->PrepareStatement("delete from ASSETS_V1 where ASSETID = ?"); + st.Bind(1, assetID); + st.ExecuteUpdate(); + st.Finalize(); } double mmDBWrapper::getAssetBalance(wxSQLite3Database* db) { - double balance = 0.0; + double balance = 0.0; wxSQLite3ResultSet q1 = db->ExecuteQuery("select ASSETID from ASSETS_V1"); while (q1.NextRow()) { int assetID = q1.GetInt(wxT("ASSETID")); - balance += getAssetValue(db, assetID); + balance += getAssetValue(db, assetID); } q1.Finalize(); @@ -2536,37 +2583,37 @@ double mmDBWrapper::getAssetValue(wxSQLite3Database* db, int assetID) { - static const char sql[] = - "select VALUECHANGE, " - "VALUE, " - "VALUECHANGERATE, " - "date(STARTDATE, 'localtime') as STARTDATE " - "from ASSETS_V1 " - "where ASSETID = ?"; + static const char sql[] = + "select VALUECHANGE, " + "VALUE, " + "VALUECHANGERATE, " + "date(STARTDATE, 'localtime') as STARTDATE " + "from ASSETS_V1 " + "where ASSETID = ?"; - double assetValue = 0.0; - - wxSQLite3Statement st = db->PrepareStatement(sql); + double assetValue = 0.0; + + wxSQLite3Statement st = db->PrepareStatement(sql); st.Bind(1, assetID); - wxSQLite3ResultSet q1 = st.ExecuteQuery(); + wxSQLite3ResultSet q1 = st.ExecuteQuery(); - if (q1.NextRow()) + if (q1.NextRow()) { - wxString valChange = q1.GetString(wxT("VALUECHANGE")); - double value = q1.GetDouble(wxT("VALUE")); - double valueChangeRate = q1.GetDouble(wxT("VALUECHANGERATE")); + wxString valChange = q1.GetString(wxT("VALUECHANGE")); + double value = q1.GetDouble(wxT("VALUE")); + double valueChangeRate = q1.GetDouble(wxT("VALUECHANGERATE")); wxString startDateStr = q1.GetString(wxT("STARTDATE")); wxDateTime startDate = mmGetStorageStringAsDate(startDateStr); - wxDateTime todayDate = wxDateTime::Now(); + wxDateTime todayDate = wxDateTime::Now(); - if (valChange == wxT("None")) - assetValue = value; - else if (valChange == wxT("Appreciates")) - { - if (todayDate > startDate) - { - int numYears = todayDate.GetYear() - startDate.GetYear(); + if (valChange == wxT("None")) + assetValue = value; + else if (valChange == wxT("Appreciates")) + { + if (todayDate > startDate) + { + int numYears = todayDate.GetYear() - startDate.GetYear(); // improve the accuracy of number of years calculation int numMonths = todayDate.GetMonth() - startDate.GetMonth(); @@ -2574,82 +2621,82 @@ if ( (numMonths >= 0 ) && (numDays < 0) ) numMonths --; if ( (numYears > 0 ) && (numMonths < 0 )) numYears -- ; - if (numYears > 0) - { -// double appreciation = numYears * valueChangeRate * value / 100; -// assetValue = value + appreciation; + if (numYears > 0) + { +// double appreciation = numYears * valueChangeRate * value / 100; +// assetValue = value + appreciation; // Calculation changed to compound interest. while (numYears > 0) { double appreciation = valueChangeRate * value / 100; - assetValue = value + appreciation; + assetValue = value + appreciation; value = assetValue; numYears --; } } else assetValue = value; - } - else - assetValue = value; - } - else if (valChange == wxT("Depreciates")) - { - if (todayDate > startDate) - { - int numYears = todayDate.GetYear() - startDate.GetYear(); - if (numYears > 0) - { -// double depreciation = numYears * valueChangeRate * value / 100; -// assetValue = value - depreciation; + } + else + assetValue = value; + } + else if (valChange == wxT("Depreciates")) + { + if (todayDate > startDate) + { + int numYears = todayDate.GetYear() - startDate.GetYear(); + if (numYears > 0) + { +// double depreciation = numYears * valueChangeRate * value / 100; +// assetValue = value - depreciation; // Calculation changed to compound interest. while (numYears > 0) { double depreciation = valueChangeRate * value / 100; - assetValue = value - depreciation; + assetValue = value - depreciation; value = assetValue; numYears --; } } else assetValue = value; - } - else - assetValue = value; - } - else - { - wxASSERT(false); - } + } + else + assetValue = value; + } + else + { + wxASSERT(false); + } } - st.Finalize(); + st.Finalize(); - return assetValue; + return assetValue; } wxString mmDBWrapper::getAccountType(wxSQLite3Database* db_, int accountID) { - wxString acctType; + wxString acctType; - wxSQLite3Statement st = db_->PrepareStatement("select ACCOUNTTYPE " + wxSQLite3Statement st = db_->PrepareStatement("select ACCOUNTTYPE " "from ACCOUNTLIST_V1 " "where ACCOUNTID = ?" ); - + st.Bind(1, accountID); - - wxSQLite3ResultSet rs = st.ExecuteQuery(); - if (rs.NextRow()) - { - acctType = rs.GetString(wxT("ACCOUNTTYPE")); - } + + wxSQLite3ResultSet rs = st.ExecuteQuery(); + if (rs.NextRow()) + { + acctType = rs.GetString(wxT("ACCOUNTTYPE")); + } - st.Finalize(); + st.Finalize(); - return acctType; + return acctType; } void mmDBWrapper::removeSplitsForAccount(wxSQLite3Database* db, int accountID) @@ -2661,12 +2708,12 @@ "where ACCOUNTID = ? OR TOACCOUNTID = ? " ")"; - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, accountID); - st.Bind(2, accountID); + wxSQLite3Statement st = db->PrepareStatement(sql); + st.Bind(1, accountID); + st.Bind(2, accountID); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); // -- @@ -2677,36 +2724,36 @@ "where ACCOUNTID = ? OR TOACCOUNTID = ? " ")"; - st = db->PrepareStatement(sql2); + st = db->PrepareStatement(sql2); st.Bind(1, accountID); st.Bind(2, accountID); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } //---------------------------------------------------------------------------- wxString mmDBWrapper::getLastDbPath(wxSQLite3Database *db, const wxString &defaultVal) { - wxString path = getINISettingValue(db, wxT("LASTFILENAME"), defaultVal); - - if (!mmex::isPortableMode()) { - return path; - } + wxString path = getINISettingValue(db, wxT("LASTFILENAME"), defaultVal); + + if (!mmex::isPortableMode()) { + return path; + } - wxString vol = wxFileName(wxStandardPaths::Get().GetExecutablePath()).GetVolume(); - - if (!vol.IsEmpty()) { + wxString vol = wxFileName(wxStandardPaths::Get().GetExecutablePath()).GetVolume(); + + if (!vol.IsEmpty()) { - wxFileName fname(path); - fname.SetVolume(vol); // database should be on portable device + wxFileName fname(path); + fname.SetVolume(vol); // database should be on portable device - if (fname.FileExists()) { - path = fname.GetFullPath(); - } - } + if (fname.FileExists()) { + path = fname.GetFullPath(); + } + } - return path; + return path; } //---------------------------------------------------------------------------- @@ -2715,30 +2762,30 @@ int err = SQLITE_OK; if (!db.IsOpen()) { - return err; + return err; } - try { - db.Begin(WXSQLITE_TRANSACTION_IMMEDIATE); - db.Commit(); + try { + db.Begin(WXSQLITE_TRANSACTION_IMMEDIATE); + db.Commit(); - } catch (wxSQLite3Exception &e) { - - err = e.GetExtendedErrorCode(); - if (err != SQLITE_CANTOPEN && err != SQLITE_READONLY && err != SQLITE_NOTADB) { - throw; - } - } + } catch (wxSQLite3Exception &e) { + + err = e.GetExtendedErrorCode(); + if (err != SQLITE_CANTOPEN && err != SQLITE_READONLY && err != SQLITE_NOTADB) { + throw; + } + } - return err; + return err; } //---------------------------------------------------------------------------- /* - SQLITE_OPEN_READWRITE - The database is opened for reading and writing if possible, or reading - only if the file is write protected by the operating system. In either - case the database must already exist, otherwise an error is returned. + SQLITE_OPEN_READWRITE + The database is opened for reading and writing if possible, or reading + only if the file is write protected by the operating system. In either + case the database must already exist, otherwise an error is returned. */ boost::shared_ptr<wxSQLite3Database> mmDBWrapper::Open(const wxString &dbpath, const wxString &key) { @@ -2749,19 +2796,20 @@ try { db->Open(dbpath, key); - } - catch (wxSQLite3Exception e) - { - //wxLogError(wxT("Database::open: Exception: %s"), e.GetMessage().c_str()); - //wxLogDebug(wxT("Database::open: Exception: %s"), e.GetMessage().c_str()); - err = e.GetErrorCode(); - errMessage << e.GetMessage(); - } + } + catch (wxSQLite3Exception e) + { + //wxLogError(wxT("Database::open: Exception: %s"), e.GetMessage().c_str()); + //wxLogDebug(wxT("Database::open: Exception: %s"), e.GetMessage().c_str()); + err = e.GetErrorCode(); + errMessage << e.GetMessage(); + } - if (err==SQLITE_OK) - { - err = isReadOnly(*db); - if (err == SQLITE_OK) + if (err==SQLITE_OK) + { + //err = isReadOnly(*db); + err = SQLITE_OK; //isReadOnly(*db); + if (err == SQLITE_OK) return db; } @@ -2770,32 +2818,32 @@ wxString s = _("When database file opening:"); s << wxT("\n") << wxString::Format(wxT("\n%s\n\n"), dbpath.c_str()); - if (err == SQLITE_READONLY) - { + if (err == SQLITE_READONLY) + { s <<_("Not a writeable database") <<wxT("\n") << _("You must have write permission to that file")<< wxT("\n"); - } - else if (err == SQLITE_CANTOPEN) - { + } + else if (err == SQLITE_CANTOPEN) + { s << _("Can't open file") <<wxT("\n") << _("You must specify path to another database file") << wxT("\n"); - } - else if (err == SQLITE_NOTADB) - { + } + else if (err == SQLITE_NOTADB) + { s << _("An incorrect password given for an encrypted file") << wxT("\n\n") << _("or") << wxT("\n\n") << _("Attempt to open a File that is not a database file") << wxT("\n"); - } - else - { + } + else + { s << wxT("\n") << _("Error") << err << wxT("\n"); - } + } - wxSafeShowMessage(_("Database::open: Exception"), s); + wxSafeShowMessage(_("Database::open: Exception"), s); - s << errMessage << wxT("\n\n") << _("Continue ?"); + s << errMessage << wxT("\n\n") << _("Continue ?"); - wxMessageDialog msgDlg(NULL, s, _("Error"), wxYES_NO|wxICON_ERROR); + wxMessageDialog msgDlg(NULL, s, _("Error"), wxYES_NO|wxICON_ERROR); if (msgDlg.ShowModal() == wxID_NO) - exit(err); + exit(err); return db; // return a NULL database pointer This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2011-11-18 13:54:41
|
Revision: 1515 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1515&view=rev Author: vomikan Date: 2011-11-18 13:54:34 +0000 (Fri, 18 Nov 2011) Log Message: ----------- An experimental erroneously recorded code has been removed. Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2011-11-18 08:14:16 UTC (rev 1514) +++ trunk/mmex/src/dbwrapper.cpp 2011-11-18 13:54:34 UTC (rev 1515) @@ -643,7 +643,7 @@ static const char view_name[] = "ALLDATA"; static const char sql[] = - "create view alldata as " + "create view alldata as " "select \n" " CANS.TransID as ID, CANS.TransCode as TransactionType, \n" " date(CANS.TransDate, 'localtime') as Date, \n" @@ -741,116 +741,70 @@ { /* Create INFOTABLE_V1 Tables */ mmDBWrapper::begin(db); - //if (verbose) - wxSafeShowMessage(wxT("createInfoV1Table"), wxT("OK")); createInfoV1Table(db); if (pgd) pgd->Update(10); /* Create Currency Settings */ - wxSafeShowMessage(wxT("createCurrencyV1Table"), wxT("OK")); createCurrencyV1Table(db); if (pgd) pgd->Update(20); /* Create ACCOUNTLIST_V1 Tables */ - wxSafeShowMessage(wxT("createAccountListV1Table"), wxT("OK")); createAccountListV1Table(db); if (pgd) pgd->Update(30); /* Create CHECKINGACCOUNT_V1 Tables */ - wxSafeShowMessage(wxT("createCheckingAccountV1Table"), wxT("OK")); createCheckingAccountV1Table(db); if (pgd) pgd->Update(40); /* Create PAYEE_V1 Tables */ - wxSafeShowMessage(wxT("createPayeeV1Table"), wxT("OK")); createPayeeV1Table(db); if (pgd) pgd->Update(50); /* Create CATEGORY_V1 Tables */ - wxSafeShowMessage(wxT("createCategoryV1Table"), wxT("OK")); createCategoryV1Table(db); if (pgd) pgd->Update(60); /* Create Budgeting_V1 Tables */ - wxSafeShowMessage(wxT("createBudgetingV1Table"), wxT("OK")); createBudgetingV1Table(db); if (pgd) pgd->Update(75); /* Create Bills & Deposits V1 Table */ - wxSafeShowMessage(wxT("createBillsDepositsV1Table"), wxT("OK")); createBillsDepositsV1Table(db); if (pgd) pgd->Update(80); /* Create Stock V1 Table */ - wxSafeShowMessage(wxT("createStockV1Table"), wxT("OK")); createStockV1Table(db); if (pgd) pgd->Update(85); - /* Create Asset V1 Table */ - wxSafeShowMessage(wxT("createAssetsV1Table"), wxT("OK")); - createAssetsV1Table(db); + /* Create Asset V1 Table */ + createAssetsV1Table(db); if (pgd) - pgd->Update(90); + pgd->Update(90); - /* Create SplitTransactions V1 Table */ - wxSafeShowMessage(wxT("createSplitTransactionsV1Table"), wxT("OK")); - createSplitTransactionsV1Table(db); + /* Create SplitTransactions V1 Table */ + createSplitTransactionsV1Table(db); if (pgd) - pgd->Update(95); + pgd->Update(95); - /* Create AllData view */ - wxSafeShowMessage(wxT("createAllDataView"), wxT("OK")); + /* Create AllData view */ createAllDataView(db); if (pgd) pgd->Update(99); /* Remove Any cruft */ - //removeCruft(db); - //mmDBWrapper::commit(db); - wxSafeShowMessage(wxT("removeCruft"), wxT("OK")); + removeCruft(db); + mmDBWrapper::commit(db); } -bool mmDBWrapper::checkDBIntegrity(wxSQLite3Database* db, wxProgressDialog* pgd) -{ - bool exists=true; - wxSafeShowMessage(wxT("Info"), wxT("Checking if tables available")); - const wxString tables[] = { - wxT("INFOTABLE_V1"), - wxT("CURRENCYFORMATS_V1"), - wxT("BUDGETYEAR_V1"), - wxT("STOCK_V1"), - wxT("ASSETS_V1"), - wxT("BILLSDEPOSITS_V1"), - wxT("ACCOUNTLIST_V1"), - wxT("CHECKINGACCOUNT_V1"), - wxT("SPLITTRANSACTIONS_V1"), - wxT("BUDGETSPLITTRANSACTIONS_V1"), - wxT("PAYEE_V1"), - wxT("CATEGORY_V1"), - wxT("SUBCATEGORY_V1")}; - - for (int n=0; n<13; n++) - { - if (!db->TableExists(tables[n])) - exists = false; - //if (verbose) - wxSafeShowMessage(tables[n], (exists ? wxT("OK") : wxT("NO"))); - if (pgd) - pgd->Update(n*7); - } - - return (exists); -} - int mmDBWrapper::getNumAccounts(wxSQLite3Database* db) { int num = db->ExecuteScalar("select count(*) from ACCOUNTLIST_V1"); @@ -1024,7 +978,7 @@ grpChar = grp.GetChar(0); } - mmex::CurrencyFormatter::instance().loadSettings(pfxSymbol, sfxSymbol, decChar, grpChar, unit, cent, scaleDl); + mmex::CurrencyFormatter::instance().loadSettings(pfxSymbol, sfxSymbol, decChar, grpChar, unit, cent, scaleDl); } else { wxASSERT(true); @@ -1035,7 +989,7 @@ double mmDBWrapper::getInitBalanceOnAccount(wxSQLite3Database* db, int accountID) { - static const char sql[] = + static const char sql[] = "select INITIALBAL " "from ACCOUNTLIST_V1 " "where ACCOUNTID = ?"; @@ -1758,13 +1712,13 @@ bool ok=false; try { - ok = inidb->TableExists(wxT("SETTING_V1")); - } - catch (wxSQLite3Exception e) - { - wxLogDebug(wxT("Database::TableExists: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); - } + ok = inidb->TableExists(wxT("SETTING_V1")); + } + catch (wxSQLite3Exception e) + { + wxLogDebug(wxT("Database::TableExists: Exception"), e.GetMessage().c_str()); + wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); + } if (ok) return; @@ -1779,21 +1733,21 @@ { inidb->ExecuteUpdate(sql); } - catch (wxSQLite3Exception e) - { + catch (wxSQLite3Exception e) + { wxLogDebug(wxT("Database::ExecuteUpdate: Exception: %s"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); - } + } try { ok = inidb->TableExists(wxT("SETTING_V1")); } - catch (wxSQLite3Exception e) - { + catch (wxSQLite3Exception e) + { wxLogDebug(wxT("Database::TableExists: Exception: %s"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); - } + } wxFAIL; wxASSERT(!ok); @@ -2107,40 +2061,40 @@ { wxSQLite3Statement st = db->PrepareStatement("select PAYEENAME from PAYEE_V1 where PAYEENAME LIKE ? ORDER BY PAYEENAME"); st.Bind(1, patt + wxT("%")); - wxSQLite3ResultSet q1 = st.ExecuteQuery(); - - wxArrayString flist; - - while (q1.NextRow()) - { + wxSQLite3ResultSet q1 = st.ExecuteQuery(); + + wxArrayString flist; + + while (q1.NextRow()) + { flist.Add(q1.GetString(wxT("PAYEENAME"))); - } - st.Finalize(); - q1.Finalize(); - return flist; + } + st.Finalize(); + q1.Finalize(); + return flist; } void mmDBWrapper::addBudgetYear(wxSQLite3Database* db, const wxString &year) { - wxSQLite3Statement st = db->PrepareStatement("insert into BUDGETYEAR_V1 (BUDGETYEARNAME) values (?)"); - st.Bind(1, year); + wxSQLite3Statement st = db->PrepareStatement("insert into BUDGETYEAR_V1 (BUDGETYEARNAME) values (?)"); + st.Bind(1, year); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } int mmDBWrapper::getBudgetYearID(wxSQLite3Database* db, const wxString &year) { int budgetYearID = -1; - wxSQLite3Statement st = db->PrepareStatement("select BUDGETYEARID " + wxSQLite3Statement st = db->PrepareStatement("select BUDGETYEARID " "from BUDGETYEAR_V1 " "where BUDGETYEARNAME = ?" ); st.Bind(1, year); - wxSQLite3ResultSet q1 = st.ExecuteQuery(); + wxSQLite3ResultSet q1 = st.ExecuteQuery(); if (q1.NextRow()) { budgetYearID = q1.GetInt(wxT("BUDGETYEARID")); @@ -2152,34 +2106,33 @@ int mmDBWrapper::getTransIDByDate(wxSQLite3Database* db, const wxString &byDate, int accountID) { - static const char sql[] = - "select ifnull(max(cast(TRANSACTIONNUMBER as integer)),0)+1 as MaxTransID " - "from CHECKINGACCOUNT_V1 " - "where ACCOUNTID = ? " + static const char sql[] = + "select ifnull(max(cast(TRANSACTIONNUMBER as integer)),0)+1 as MaxTransID " + "from CHECKINGACCOUNT_V1 " + "where ACCOUNTID = ? " "--and date(TRANSDATE, 'localtime') = ? "; - int transID = 1; + int transID = 1; - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, accountID); - //Make a numbered consecutively - //st.Bind(2, byDate); + wxSQLite3Statement st = db->PrepareStatement(sql); + st.Bind(1, accountID); + //st.Bind(2, byDate); - wxSQLite3ResultSet q1 = st.ExecuteQuery(); + wxSQLite3ResultSet q1 = st.ExecuteQuery(); if (q1.NextRow()) { - transID = q1.GetInt(wxT("MaxTransID")); + transID = q1.GetInt(wxT("MaxTransID")); } st.Finalize(); - return transID; + return transID; } wxString mmDBWrapper::getBudgetYearForID(wxSQLite3Database* db, int yearid) { wxString budgetYear; - wxSQLite3Statement st = db->PrepareStatement("select BUDGETYEARNAME " + wxSQLite3Statement st = db->PrepareStatement("select BUDGETYEARNAME " "from BUDGETYEAR_V1 " "where BUDGETYEARID = ?" ); @@ -2199,21 +2152,21 @@ void mmDBWrapper::updateYearForID(wxSQLite3Database* db, const wxString& yearName, int yearid) { - wxSQLite3Statement st = db->PrepareStatement("update BUDGETYEAR_V1 " - "SET BUDGETYEARNAME = ? " - "WHERE BUDGETYEARID = ?" - ); + wxSQLite3Statement st = db->PrepareStatement("update BUDGETYEAR_V1 " + "SET BUDGETYEARNAME = ? " + "WHERE BUDGETYEARID = ?" + ); - st.Bind(1, yearName); - st.Bind(2, yearid); + st.Bind(1, yearName); + st.Bind(2, yearid); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } bool mmDBWrapper::copyBudgetYear(wxSQLite3Database* db, int newYear, int baseYear) { - static const char sql[] = + static const char sql[] = "insert into BUDGETTABLE_V1 ( " "BUDGETYEARID, " "CATEGID, " @@ -2223,18 +2176,18 @@ ") " "select ?, " "CATEGID, " - "SUBCATEGID, " - "PERIOD, " - "AMOUNT " - "from BUDGETTABLE_V1 " - "WHERE BUDGETYEARID = ?"; - + "SUBCATEGID, " + "PERIOD, " + "AMOUNT " + "from BUDGETTABLE_V1 " + "WHERE BUDGETYEARID = ?"; + if (newYear == baseYear) return false; - wxSQLite3Statement st = db->PrepareStatement(sql); + wxSQLite3Statement st = db->PrepareStatement(sql); st.Bind(1, newYear); - st.Bind(2, baseYear); + st.Bind(2, baseYear); st.ExecuteUpdate(); st.Finalize(); @@ -2269,30 +2222,30 @@ void mmDBWrapper::addBudgetEntry(wxSQLite3Database* db, int budgetYearID, int categID, int subCategID, const wxString& period, double amount) { - static const char sql[] = - "insert into BUDGETTABLE_V1 ( " - "BUDGETYEARID, " - "CATEGID, " + static const char sql[] = + "insert into BUDGETTABLE_V1 ( " + "BUDGETYEARID, " + "CATEGID, " "SUBCATEGID, " - "PERIOD, " - "AMOUNT " - ") values ( " - "?, ?, ?, ?, ? " - ")"; - - wxSQLite3Statement st = db->PrepareStatement(sql); - - int i = 0; - st.Bind(++i, budgetYearID); - st.Bind(++i, categID); - st.Bind(++i, subCategID); - st.Bind(++i, period); - st.Bind(++i, amount); + "PERIOD, " + "AMOUNT " + ") values ( " + "?, ?, ?, ?, ? " + ")"; + + wxSQLite3Statement st = db->PrepareStatement(sql); + + int i = 0; + st.Bind(++i, budgetYearID); + st.Bind(++i, categID); + st.Bind(++i, subCategID); + st.Bind(++i, period); + st.Bind(++i, amount); wxASSERT(st.GetParamCount() == i); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } void mmDBWrapper::deleteBudgetEntry(wxSQLite3Database* db, int budgetEntryID) @@ -2301,26 +2254,26 @@ st.Bind(1, budgetEntryID); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } void mmDBWrapper::updateBudgetEntry(wxSQLite3Database* db, int budgetYearID, int categID, int subCategID, const wxString& period, double amount) { - static const char sql[] = - "delete from BUDGETTABLE_V1 " + static const char sql[] = + "delete from BUDGETTABLE_V1 " "where BUDGETENTRYID in( select BUDGETENTRYID " - "from BUDGETTABLE_V1 " - "WHERE BUDGETYEARID = ? AND " - "CATEGID = ? AND " - "SUBCATEGID = ? " + "from BUDGETTABLE_V1 " + "WHERE BUDGETYEARID = ? AND " + "CATEGID = ? AND " + "SUBCATEGID = ? " ")"; - - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, budgetYearID); - st.Bind(2, categID); - st.Bind(3, subCategID); + + wxSQLite3Statement st = db->PrepareStatement(sql); + st.Bind(1, budgetYearID); + st.Bind(2, categID); + st.Bind(3, subCategID); st.ExecuteUpdate(); st.Finalize(); @@ -2331,20 +2284,20 @@ bool mmDBWrapper::getBudgetEntry(wxSQLite3Database* db, int budgetYearID, int categID, int subCategID, wxString& period, double& amount) { - static const char sql[] = - "select PERIOD, " - "AMOUNT " - "from BUDGETTABLE_V1 " - "WHERE BUDGETYEARID = ? AND " - "CATEGID = ? AND " - "SUBCATEGID = ?"; - - bool found = false; + static const char sql[] = + "select PERIOD, " + "AMOUNT " + "from BUDGETTABLE_V1 " + "WHERE BUDGETYEARID = ? AND " + "CATEGID = ? AND " + "SUBCATEGID = ?"; + + bool found = false; - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, budgetYearID); - st.Bind(2, categID); - st.Bind(3, subCategID); + wxSQLite3Statement st = db->PrepareStatement(sql); + st.Bind(1, budgetYearID); + st.Bind(2, categID); + st.Bind(3, subCategID); wxSQLite3ResultSet q1 = st.ExecuteQuery(); @@ -2355,9 +2308,9 @@ amount = q1.GetDouble(wxT("AMOUNT")); } - st.Finalize(); + st.Finalize(); - return found; + return found; } void mmDBWrapper::deleteBDSeries(wxSQLite3Database* db, int bdID) @@ -2380,20 +2333,20 @@ void mmDBWrapper::completeBDInSeries(wxSQLite3Database* db, int bdID) { - static const char sql[] = - "select NUMOCCURRENCES, " - "date(NEXTOCCURRENCEDATE, 'localtime') as NEXTOCCURRENCEDATE, " - "REPEATS " - "from BILLSDEPOSITS_V1 " - "WHERE BDID = ?"; - + static const char sql[] = + "select NUMOCCURRENCES, " + "date(NEXTOCCURRENCEDATE, 'localtime') as NEXTOCCURRENCEDATE, " + "REPEATS " + "from BILLSDEPOSITS_V1 " + "WHERE BDID = ?"; + wxDateTime updateOccur = wxDateTime::Now(); int numRepeats = -1; - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, bdID); + wxSQLite3Statement st = db->PrepareStatement(sql); + st.Bind(1, bdID); - wxSQLite3ResultSet q1 = st.ExecuteQuery(); + wxSQLite3ResultSet q1 = st.ExecuteQuery(); if (q1.NextRow()) { @@ -2461,34 +2414,34 @@ } } - st.Finalize(); + st.Finalize(); - { - static const char sql[] = - "update BILLSDEPOSITS_V1 " - "set NEXTOCCURRENCEDATE = ?, " - "NUMOCCURRENCES = ? " - "where BDID = ?"; + { + static const char sql[] = + "update BILLSDEPOSITS_V1 " + "set NEXTOCCURRENCEDATE = ?, " + "NUMOCCURRENCES = ? " + "where BDID = ?"; - wxSQLite3Statement st = db->PrepareStatement(sql); + wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, updateOccur.FormatISODate()); - st.Bind(2, numRepeats); - st.Bind(3, bdID); + st.Bind(1, updateOccur.FormatISODate()); + st.Bind(2, numRepeats); + st.Bind(3, bdID); - st.ExecuteUpdate(); - st.Finalize(); - } + st.ExecuteUpdate(); + st.Finalize(); + } - db->ExecuteUpdate("delete from BILLSDEPOSITS_V1 where NUMOCCURRENCES = 0"); + db->ExecuteUpdate("delete from BILLSDEPOSITS_V1 where NUMOCCURRENCES = 0"); } void mmDBWrapper::deleteStockInvestment(wxSQLite3Database* db, int stockID) { - wxSQLite3Statement st = db->PrepareStatement("delete from STOCK_V1 where STOCKID = ?"); + wxSQLite3Statement st = db->PrepareStatement("delete from STOCK_V1 where STOCKID = ?"); st.Bind(1, stockID); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } double mmDBWrapper::getStockInvestmentBalance(wxSQLite3Database* db, double& invested) @@ -2522,13 +2475,13 @@ double balance = 0.0; originalVal = 0.0; - static const char sql[] = - "select VALUE, " - "NUMSHARES, " - "PURCHASEPRICE, " - "COMMISSION " - "from STOCK_V1 " - "where HELDAT = ?"; + static const char sql[] = + "select VALUE, " + "NUMSHARES, " + "PURCHASEPRICE, " + "COMMISSION " + "from STOCK_V1 " + "where HELDAT = ?"; wxSQLite3Statement st = db->PrepareStatement(sql); st.Bind(1, accountID); @@ -2559,22 +2512,22 @@ void mmDBWrapper::deleteAsset(wxSQLite3Database* db, int assetID) { - wxSQLite3Statement st = db->PrepareStatement("delete from ASSETS_V1 where ASSETID = ?"); - st.Bind(1, assetID); - st.ExecuteUpdate(); - st.Finalize(); + wxSQLite3Statement st = db->PrepareStatement("delete from ASSETS_V1 where ASSETID = ?"); + st.Bind(1, assetID); + st.ExecuteUpdate(); + st.Finalize(); } double mmDBWrapper::getAssetBalance(wxSQLite3Database* db) { - double balance = 0.0; + double balance = 0.0; wxSQLite3ResultSet q1 = db->ExecuteQuery("select ASSETID from ASSETS_V1"); while (q1.NextRow()) { int assetID = q1.GetInt(wxT("ASSETID")); - balance += getAssetValue(db, assetID); + balance += getAssetValue(db, assetID); } q1.Finalize(); @@ -2583,37 +2536,37 @@ double mmDBWrapper::getAssetValue(wxSQLite3Database* db, int assetID) { - static const char sql[] = - "select VALUECHANGE, " - "VALUE, " - "VALUECHANGERATE, " - "date(STARTDATE, 'localtime') as STARTDATE " - "from ASSETS_V1 " - "where ASSETID = ?"; + static const char sql[] = + "select VALUECHANGE, " + "VALUE, " + "VALUECHANGERATE, " + "date(STARTDATE, 'localtime') as STARTDATE " + "from ASSETS_V1 " + "where ASSETID = ?"; - double assetValue = 0.0; - - wxSQLite3Statement st = db->PrepareStatement(sql); + double assetValue = 0.0; + + wxSQLite3Statement st = db->PrepareStatement(sql); st.Bind(1, assetID); - wxSQLite3ResultSet q1 = st.ExecuteQuery(); + wxSQLite3ResultSet q1 = st.ExecuteQuery(); - if (q1.NextRow()) + if (q1.NextRow()) { - wxString valChange = q1.GetString(wxT("VALUECHANGE")); - double value = q1.GetDouble(wxT("VALUE")); - double valueChangeRate = q1.GetDouble(wxT("VALUECHANGERATE")); + wxString valChange = q1.GetString(wxT("VALUECHANGE")); + double value = q1.GetDouble(wxT("VALUE")); + double valueChangeRate = q1.GetDouble(wxT("VALUECHANGERATE")); wxString startDateStr = q1.GetString(wxT("STARTDATE")); wxDateTime startDate = mmGetStorageStringAsDate(startDateStr); - wxDateTime todayDate = wxDateTime::Now(); + wxDateTime todayDate = wxDateTime::Now(); - if (valChange == wxT("None")) - assetValue = value; - else if (valChange == wxT("Appreciates")) - { - if (todayDate > startDate) - { - int numYears = todayDate.GetYear() - startDate.GetYear(); + if (valChange == wxT("None")) + assetValue = value; + else if (valChange == wxT("Appreciates")) + { + if (todayDate > startDate) + { + int numYears = todayDate.GetYear() - startDate.GetYear(); // improve the accuracy of number of years calculation int numMonths = todayDate.GetMonth() - startDate.GetMonth(); @@ -2621,82 +2574,82 @@ if ( (numMonths >= 0 ) && (numDays < 0) ) numMonths --; if ( (numYears > 0 ) && (numMonths < 0 )) numYears -- ; - if (numYears > 0) - { -// double appreciation = numYears * valueChangeRate * value / 100; -// assetValue = value + appreciation; + if (numYears > 0) + { +// double appreciation = numYears * valueChangeRate * value / 100; +// assetValue = value + appreciation; // Calculation changed to compound interest. while (numYears > 0) { double appreciation = valueChangeRate * value / 100; - assetValue = value + appreciation; + assetValue = value + appreciation; value = assetValue; numYears --; } } else assetValue = value; - } - else - assetValue = value; - } - else if (valChange == wxT("Depreciates")) - { - if (todayDate > startDate) - { - int numYears = todayDate.GetYear() - startDate.GetYear(); - if (numYears > 0) - { -// double depreciation = numYears * valueChangeRate * value / 100; -// assetValue = value - depreciation; + } + else + assetValue = value; + } + else if (valChange == wxT("Depreciates")) + { + if (todayDate > startDate) + { + int numYears = todayDate.GetYear() - startDate.GetYear(); + if (numYears > 0) + { +// double depreciation = numYears * valueChangeRate * value / 100; +// assetValue = value - depreciation; // Calculation changed to compound interest. while (numYears > 0) { double depreciation = valueChangeRate * value / 100; - assetValue = value - depreciation; + assetValue = value - depreciation; value = assetValue; numYears --; } } else assetValue = value; - } - else - assetValue = value; - } - else - { - wxASSERT(false); - } + } + else + assetValue = value; + } + else + { + wxASSERT(false); + } } - st.Finalize(); + st.Finalize(); - return assetValue; + return assetValue; } wxString mmDBWrapper::getAccountType(wxSQLite3Database* db_, int accountID) { - wxString acctType; + wxString acctType; - wxSQLite3Statement st = db_->PrepareStatement("select ACCOUNTTYPE " + wxSQLite3Statement st = db_->PrepareStatement("select ACCOUNTTYPE " "from ACCOUNTLIST_V1 " "where ACCOUNTID = ?" ); - + st.Bind(1, accountID); - - wxSQLite3ResultSet rs = st.ExecuteQuery(); - if (rs.NextRow()) - { - acctType = rs.GetString(wxT("ACCOUNTTYPE")); - } + + wxSQLite3ResultSet rs = st.ExecuteQuery(); + if (rs.NextRow()) + { + acctType = rs.GetString(wxT("ACCOUNTTYPE")); + } - st.Finalize(); + st.Finalize(); - return acctType; + return acctType; } void mmDBWrapper::removeSplitsForAccount(wxSQLite3Database* db, int accountID) @@ -2708,12 +2661,12 @@ "where ACCOUNTID = ? OR TOACCOUNTID = ? " ")"; - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, accountID); - st.Bind(2, accountID); + wxSQLite3Statement st = db->PrepareStatement(sql); + st.Bind(1, accountID); + st.Bind(2, accountID); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); // -- @@ -2724,36 +2677,36 @@ "where ACCOUNTID = ? OR TOACCOUNTID = ? " ")"; - st = db->PrepareStatement(sql2); + st = db->PrepareStatement(sql2); st.Bind(1, accountID); st.Bind(2, accountID); st.ExecuteUpdate(); - st.Finalize(); + st.Finalize(); } //---------------------------------------------------------------------------- wxString mmDBWrapper::getLastDbPath(wxSQLite3Database *db, const wxString &defaultVal) { - wxString path = getINISettingValue(db, wxT("LASTFILENAME"), defaultVal); - - if (!mmex::isPortableMode()) { - return path; - } + wxString path = getINISettingValue(db, wxT("LASTFILENAME"), defaultVal); + + if (!mmex::isPortableMode()) { + return path; + } - wxString vol = wxFileName(wxStandardPaths::Get().GetExecutablePath()).GetVolume(); - - if (!vol.IsEmpty()) { + wxString vol = wxFileName(wxStandardPaths::Get().GetExecutablePath()).GetVolume(); + + if (!vol.IsEmpty()) { - wxFileName fname(path); - fname.SetVolume(vol); // database should be on portable device + wxFileName fname(path); + fname.SetVolume(vol); // database should be on portable device - if (fname.FileExists()) { - path = fname.GetFullPath(); - } - } + if (fname.FileExists()) { + path = fname.GetFullPath(); + } + } - return path; + return path; } //---------------------------------------------------------------------------- @@ -2762,30 +2715,30 @@ int err = SQLITE_OK; if (!db.IsOpen()) { - return err; + return err; } - try { - db.Begin(WXSQLITE_TRANSACTION_IMMEDIATE); - db.Commit(); + try { + db.Begin(WXSQLITE_TRANSACTION_IMMEDIATE); + db.Commit(); - } catch (wxSQLite3Exception &e) { - - err = e.GetExtendedErrorCode(); - if (err != SQLITE_CANTOPEN && err != SQLITE_READONLY && err != SQLITE_NOTADB) { - throw; - } - } + } catch (wxSQLite3Exception &e) { + + err = e.GetExtendedErrorCode(); + if (err != SQLITE_CANTOPEN && err != SQLITE_READONLY && err != SQLITE_NOTADB) { + throw; + } + } - return err; + return err; } //---------------------------------------------------------------------------- /* - SQLITE_OPEN_READWRITE - The database is opened for reading and writing if possible, or reading - only if the file is write protected by the operating system. In either - case the database must already exist, otherwise an error is returned. + SQLITE_OPEN_READWRITE + The database is opened for reading and writing if possible, or reading + only if the file is write protected by the operating system. In either + case the database must already exist, otherwise an error is returned. */ boost::shared_ptr<wxSQLite3Database> mmDBWrapper::Open(const wxString &dbpath, const wxString &key) { @@ -2796,20 +2749,19 @@ try { db->Open(dbpath, key); - } - catch (wxSQLite3Exception e) - { - //wxLogError(wxT("Database::open: Exception: %s"), e.GetMessage().c_str()); - //wxLogDebug(wxT("Database::open: Exception: %s"), e.GetMessage().c_str()); - err = e.GetErrorCode(); - errMessage << e.GetMessage(); - } + } + catch (wxSQLite3Exception e) + { + //wxLogError(wxT("Database::open: Exception: %s"), e.GetMessage().c_str()); + //wxLogDebug(wxT("Database::open: Exception: %s"), e.GetMessage().c_str()); + err = e.GetErrorCode(); + errMessage << e.GetMessage(); + } - if (err==SQLITE_OK) - { - //err = isReadOnly(*db); - err = SQLITE_OK; //isReadOnly(*db); - if (err == SQLITE_OK) + if (err==SQLITE_OK) + { + err = isReadOnly(*db); + if (err == SQLITE_OK) return db; } @@ -2818,32 +2770,32 @@ wxString s = _("When database file opening:"); s << wxT("\n") << wxString::Format(wxT("\n%s\n\n"), dbpath.c_str()); - if (err == SQLITE_READONLY) - { + if (err == SQLITE_READONLY) + { s <<_("Not a writeable database") <<wxT("\n") << _("You must have write permission to that file")<< wxT("\n"); - } - else if (err == SQLITE_CANTOPEN) - { + } + else if (err == SQLITE_CANTOPEN) + { s << _("Can't open file") <<wxT("\n") << _("You must specify path to another database file") << wxT("\n"); - } - else if (err == SQLITE_NOTADB) - { + } + else if (err == SQLITE_NOTADB) + { s << _("An incorrect password given for an encrypted file") << wxT("\n\n") << _("or") << wxT("\n\n") << _("Attempt to open a File that is not a database file") << wxT("\n"); - } - else - { + } + else + { s << wxT("\n") << _("Error") << err << wxT("\n"); - } + } - wxSafeShowMessage(_("Database::open: Exception"), s); + wxSafeShowMessage(_("Database::open: Exception"), s); - s << errMessage << wxT("\n\n") << _("Continue ?"); + s << errMessage << wxT("\n\n") << _("Continue ?"); - wxMessageDialog msgDlg(NULL, s, _("Error"), wxYES_NO|wxICON_ERROR); + wxMessageDialog msgDlg(NULL, s, _("Error"), wxYES_NO|wxICON_ERROR); if (msgDlg.ShowModal() == wxID_NO) - exit(err); + exit(err); return db; // return a NULL database pointer This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ste...@us...> - 2011-11-19 14:00:00
|
Revision: 1520 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1520&view=rev Author: stef145g Date: 2011-11-19 13:59:54 +0000 (Sat, 19 Nov 2011) Log Message: ----------- Fix: No real change - corrected code to remove compiler warnings. Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2011-11-19 06:48:17 UTC (rev 1519) +++ trunk/mmex/src/dbwrapper.cpp 2011-11-19 13:59:54 UTC (rev 1520) @@ -1403,81 +1403,77 @@ bool mmDBWrapper::updateCategory(wxSQLite3Database* db, int categID, int subcategID, const wxString &newName) { - try{ - if (subcategID == -1) - { - wxSQLite3Statement st = db->PrepareStatement("update CATEGORY_V1 " - "SET CATEGNAME = ? " - "WHERE CATEGID = ?" - ); + try { + if (subcategID == -1) + { + wxSQLite3Statement st = db->PrepareStatement("update CATEGORY_V1 " + "SET CATEGNAME = ? " + "WHERE CATEGID = ?" + ); - st.Bind(1, newName); - st.Bind(2, categID); + st.Bind(1, newName); + st.Bind(2, categID); - st.ExecuteUpdate(); - st.Finalize(); - } - else - { - wxSQLite3Statement st = db->PrepareStatement("update SUBCATEGORY_V1 " - "SET SUBCATEGNAME = ? " - "WHERE SUBCATEGID = ?" - ); + st.ExecuteUpdate(); + st.Finalize(); + } + else + { + wxSQLite3Statement st = db->PrepareStatement("update SUBCATEGORY_V1 " + "SET SUBCATEGNAME = ? " + "WHERE SUBCATEGID = ?" + ); - st.Bind(1, newName); - st.Bind(2, subcategID); + st.Bind(1, newName); + st.Bind(2, subcategID); - st.ExecuteUpdate(); - st.Finalize(); - } + st.ExecuteUpdate(); + st.Finalize(); + } - return true; - }catch(wxSQLite3Exception e) + } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::deleteAsset: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } + return true; } bool mmDBWrapper::addCategory(wxSQLite3Database* db, const wxString &newName) { - try{ int rows_affected = 0; - - wxSQLite3Statement st = db->PrepareStatement("insert into CATEGORY_V1 (CATEGNAME) values (?)"); - st.Bind(1, newName); - rows_affected = st.ExecuteUpdate(); - st.Finalize(); + try { + wxSQLite3Statement st = db->PrepareStatement("insert into CATEGORY_V1 (CATEGNAME) values (?)"); + st.Bind(1, newName); + rows_affected = st.ExecuteUpdate(); + st.Finalize(); - return rows_affected == 1; - }catch(wxSQLite3Exception e) - { - wxLogDebug(wxT("Database::addCategory: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); + } catch(wxSQLite3Exception e) { + wxLogDebug(wxT("Database::addCategory: Exception"), e.GetMessage().c_str()); + wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } + return rows_affected == 1; } bool mmDBWrapper::addSubCategory(wxSQLite3Database* db, int categID, const wxString &newName) { - try{ - static const char sql[] = - "insert into SUBCATEGORY_V1 (SUBCATEGNAME, CATEGID) values (?, ?)"; - int rows_affected = 0; + try { + static const char sql[] = + "insert into SUBCATEGORY_V1 (SUBCATEGNAME, CATEGID) values (?, ?)"; - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, newName); - st.Bind(2, categID); + wxSQLite3Statement st = db->PrepareStatement(sql); + st.Bind(1, newName); + st.Bind(2, categID); - rows_affected = st.ExecuteUpdate(); - st.Finalize(); + rows_affected = st.ExecuteUpdate(); + st.Finalize(); - return rows_affected == 1; - }catch(wxSQLite3Exception e) - { - wxLogDebug(wxT("Database::addSubCategory: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); + } catch(wxSQLite3Exception e) { + wxLogDebug(wxT("Database::addSubCategory: Exception"), e.GetMessage().c_str()); + wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } + return rows_affected == 1; } int mmDBWrapper::getCategoryID(wxSQLite3Database* db, const wxString &name) @@ -2264,6 +2260,7 @@ wxSQLite3Statement st = db->PrepareStatement(sql); st.Bind(1, accountID); //st.Bind(2, byDate); + byDate.IsEmpty(); // byDate NLR - provided to remove compiler warning. wxSQLite3ResultSet q1 = st.ExecuteQuery(); if (q1.NextRow()) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ste...@us...> - 2011-11-20 01:22:25
|
Revision: 1523 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1523&view=rev Author: stef145g Date: 2011-11-20 01:22:17 +0000 (Sun, 20 Nov 2011) Log Message: ----------- Fix: No real change - corrected code to remove compiler errors. Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2011-11-19 22:49:55 UTC (rev 1522) +++ trunk/mmex/src/dbwrapper.cpp 2011-11-20 01:22:17 UTC (rev 1523) @@ -1014,12 +1014,12 @@ rows_affected = st.ExecuteUpdate(); st.Finalize(); } + wxASSERT(rows_affected == 1); } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::setBaseCurrencySettings: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Set Base Currency Settings. Error: %s"), e.GetMessage().c_str())); } - wxASSERT(rows_affected == 1); } void mmDBWrapper::loadBaseCurrencySettings(wxSQLite3Database* db) @@ -1937,12 +1937,12 @@ rows_affected = st.ExecuteUpdate(); st.Finalize(); } + wxASSERT(rows_affected == 1); } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::setINISettingValue: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Set INI Setting Value. Error: %s"), e.GetMessage().c_str())); } - wxASSERT(rows_affected == 1); } bool mmDBWrapper::updateTransactionWithStatus(wxSQLite3Database &db, int transID, @@ -2002,13 +2002,12 @@ rows_affected = st.ExecuteUpdate(); st.Finalize(); } + wxASSERT(rows_affected == 1); } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::setInfoSettingValue: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Set Info Setting Value. Error: %s"), e.GetMessage().c_str())); } - - wxASSERT(rows_affected == 1); } double mmDBWrapper::getAmountForCategory(wxSQLite3Database* db, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2011-11-20 12:00:49
|
Revision: 1524 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1524&view=rev Author: vomikan Date: 2011-11-20 12:00:43 +0000 (Sun, 20 Nov 2011) Log Message: ----------- minor changes Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2011-11-20 01:22:17 UTC (rev 1523) +++ trunk/mmex/src/dbwrapper.cpp 2011-11-20 12:00:43 UTC (rev 1524) @@ -2005,8 +2005,8 @@ wxASSERT(rows_affected == 1); } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::setInfoSettingValue: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Set Info Setting Value. Error: %s"), e.GetMessage().c_str())); + wxLogDebug(wxT("Function::setInfoSettingValue: Exception"), e.GetMessage().c_str()); + wxLogError(wxString::Format(_("Set Info Setting Value %s = %s. Error: %s"), settingName.c_str(), settingValue.c_str(), e.GetMessage().c_str())); } } @@ -2239,7 +2239,7 @@ st.Finalize(); } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::addBudgetYear: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::addBudgetYear: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Add Budget Year. Error: %s"), e.GetMessage().c_str())); } } @@ -2324,7 +2324,7 @@ st.Finalize(); } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::updateYearForID: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::updateYearForID: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Update Year For ID. Error: %s"), e.GetMessage().c_str())); } } @@ -2359,7 +2359,7 @@ st.Finalize(); } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::copyBudgetYear: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::copyBudgetYear: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Copy Budget Year. Error: %s"), e.GetMessage().c_str())); } return true; @@ -2388,7 +2388,7 @@ } } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::deleteBudgetYear: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::deleteBudgetYear: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Delete Budget Year. Error: %s"), e.GetMessage().c_str())); } return true; @@ -2424,7 +2424,7 @@ st.Finalize(); } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::addBudgetEntry: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::addBudgetEntry: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Add Budget Entry. Error: %s"), e.GetMessage().c_str())); } } @@ -2439,7 +2439,7 @@ st.Finalize(); } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::deleteBudgetEntry: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::deleteBudgetEntry: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -2469,7 +2469,7 @@ addBudgetEntry(db, budgetYearID, categID, subCategID, period, amount); } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::updateBudgetEntry: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::updateBudgetEntry: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -2525,7 +2525,7 @@ } } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::deleteBDSeries: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::deleteBDSeries: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -2636,7 +2636,7 @@ db->ExecuteUpdate("delete from BILLSDEPOSITS_V1 where NUMOCCURRENCES = 0"); } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::completeBDInSeries: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::completeBDInSeries: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Complete BD In Series. Error: %s"), e.GetMessage().c_str())); } } @@ -2650,7 +2650,7 @@ st.Finalize(); } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::deleteStockInvestment: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::deleteStockInvestment: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Delete Stock Investment. Error: %s"), e.GetMessage().c_str())); } } @@ -2730,7 +2730,7 @@ st.Finalize(); } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::deleteAsset: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::deleteAsset: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Delete Asset. Error: %s"), e.GetMessage().c_str())); } } @@ -2903,7 +2903,7 @@ mmDBWrapper::commit(db); } catch(wxSQLite3Exception e) { - wxLogDebug(wxT("Database::removeSplitsForAccount: Exception"), e.GetMessage().c_str()); + wxLogDebug(wxT("Function::removeSplitsForAccount: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Remove Splits For Account. Error: %s"), e.GetMessage().c_str())); } } @@ -2983,13 +2983,7 @@ { //Try if db selectable try { - wxSQLite3ResultSet q1 = db->ExecuteQuery(wxT("select count(*) from sqlite_master where type='table'")); - int i=0; - while (q1.NextRow()) - { - i=q1.GetInt(1); - } - q1.Finalize(); + db->ExecuteScalar("select count(*) from sqlite_master where type='table'"); } catch (wxSQLite3Exception &e) { err = e.GetExtendedErrorCode(); @@ -3012,7 +3006,7 @@ if (err!=SQLITE_OK) { wxLogDebug(wxT("Database::write attemption: Exception"), errStr); - wxLogError(wxString::Format(_("Error: %s"), errStr.c_str())); + wxLogError(wxString::Format(_("Write error: %s"), errStr.c_str())); } } return (db); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gua...@us...> - 2012-01-21 05:05:48
|
Revision: 1689 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1689&view=rev Author: guanlisheng Date: 2012-01-21 05:05:42 +0000 (Sat, 21 Jan 2012) Log Message: ----------- format dbwrapper Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2012-01-21 02:47:54 UTC (rev 1688) +++ trunk/mmex/src/dbwrapper.cpp 2012-01-21 05:05:42 UTC (rev 1689) @@ -831,64 +831,53 @@ { /* Create INFOTABLE_V1 Tables */ mmDBWrapper::begin(db); + createInfoV1Table(db); - if (pgd) - pgd->Update(10); + if (pgd) pgd->Update(10); /* Create Currency Settings */ createCurrencyV1Table(db); - if (pgd) - pgd->Update(20); + if (pgd) pgd->Update(20); /* Create ACCOUNTLIST_V1 Tables */ createAccountListV1Table(db); - if (pgd) - pgd->Update(30); + if (pgd) pgd->Update(30); /* Create CHECKINGACCOUNT_V1 Tables */ createCheckingAccountV1Table(db); - if (pgd) - pgd->Update(40); + if (pgd) pgd->Update(40); /* Create PAYEE_V1 Tables */ createPayeeV1Table(db); - if (pgd) - pgd->Update(50); + if (pgd) pgd->Update(50); /* Create CATEGORY_V1 Tables */ createCategoryV1Table(db); - if (pgd) - pgd->Update(60); + if (pgd) pgd->Update(60); /* Create Budgeting_V1 Tables */ createBudgetingV1Table(db); - if (pgd) - pgd->Update(75); + if (pgd) pgd->Update(75); /* Create Bills & Deposits V1 Table */ createBillsDepositsV1Table(db); - if (pgd) - pgd->Update(80); + if (pgd) pgd->Update(80); /* Create Stock V1 Table */ createStockV1Table(db); - if (pgd) - pgd->Update(85); + if (pgd) pgd->Update(85); /* Create Asset V1 Table */ createAssetsV1Table(db); - if (pgd) - pgd->Update(90); + if (pgd) pgd->Update(90); /* Create SplitTransactions V1 Table */ createSplitTransactionsV1Table(db); - if (pgd) - pgd->Update(95); + if (pgd) pgd->Update(95); /* Create AllData view */ - createAllDataView(db); - if (pgd) - pgd->Update(99); + createAllDataView(db); + if (pgd) pgd->Update(99); /* Remove Any cruft */ removeCruft(db); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2012-01-26 07:11:35
|
Revision: 1704 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1704&view=rev Author: vomikan Date: 2012-01-26 07:11:26 +0000 (Thu, 26 Jan 2012) Log Message: ----------- fix for split transactions info Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2012-01-26 05:28:20 UTC (rev 1703) +++ trunk/mmex/src/dbwrapper.cpp 2012-01-26 07:11:26 UTC (rev 1704) @@ -2832,12 +2832,12 @@ char sql[]= "select c.categname || case when sc.subcategname not null then ' : '||sc.subcategname else ''end as CATEG " - ", -st.splittransamount as SPLITTRANSAMOUNT " + ", sum(-st.splittransamount) as SPLITTRANSAMOUNT " "from splittransactions_v1 st " "left join category_v1 c on st.categid=c.categid " "left join subcategory_v1 sc on st.subcategid=sc.subcategid " "where st.transid = ? " - "group by st.categid " + "group by st.categid, st.subcategid " "order by c.categname, sc.subcategname"; wxSQLite3Statement st = db_->PrepareStatement(sql); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gua...@us...> - 2012-02-04 13:47:25
|
Revision: 1720 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1720&view=rev Author: guanlisheng Date: 2012-02-04 13:47:19 +0000 (Sat, 04 Feb 2012) Log Message: ----------- format & cleanup Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2012-02-04 02:01:19 UTC (rev 1719) +++ trunk/mmex/src/dbwrapper.cpp 2012-02-04 13:47:19 UTC (rev 1720) @@ -180,140 +180,42 @@ "values (:name, :id)" ); - const wxChar* BillsCategories[] = { - _("Telephone"), - _("Electricity"), - _("Gas"), - _("Internet"), - _("Rent"), - _("Cable TV"), - _("Water"), - 0 - }; - + const wxChar* BillsCategories[] = {_("Telephone"), _("Electricity"), _("Gas"), _("Internet"), _("Rent"), _("Cable TV"), _("Water"), 0}; insertCategoryTree(db, st_cat, st_subcat, _("Bills"), BillsCategories); - // -- - - const wxChar* FoodCategories[] = { - _("Groceries"), - _("Dining out"), - 0 - }; - + const wxChar* FoodCategories[] = {_("Groceries"), _("Dining out"), 0}; insertCategoryTree(db, st_cat, st_subcat, _("Food"), FoodCategories); - // -- - - const wxChar* LeisureCategories[] = { - _("Movies"), - _("Video Rental"), - _("Magazines"), - 0 - }; - + const wxChar* LeisureCategories[] = {_("Movies"), _("Video Rental"), _("Magazines"), 0}; insertCategoryTree(db, st_cat, st_subcat, _("Leisure"), LeisureCategories); - // -- - - const wxChar* AutomobileCategories[] = { - _("Maintenance"), - _("Gas"), - _("Parking"), - _("Registration"), - 0 - }; - + const wxChar* AutomobileCategories[] = {_("Maintenance"), _("Gas"), _("Parking"), _("Registration"), 0}; insertCategoryTree(db, st_cat, st_subcat, _("Automobile"), AutomobileCategories); - // -- - - const wxChar* EducationCategories[] = { - _("Books"), - _("Tuition"), - _("Others"), - 0 - }; - + const wxChar* EducationCategories[] = {_("Books"), _("Tuition"), _("Others"), 0}; insertCategoryTree(db, st_cat, st_subcat, _("Education"), EducationCategories); - // -- - - const wxChar* HomeneedsCategories[] = { - _("Clothing"), - _("Furnishing"), - _("Others"), - 0 - }; - + const wxChar* HomeneedsCategories[] = {_("Clothing"), _("Furnishing"), _("Others"), 0}; insertCategoryTree(db, st_cat, st_subcat, _("Homeneeds"), HomeneedsCategories); - // -- - - const wxChar* HealthcareCategories[] = { - _("Health"), - _("Dental"), - _("Eyecare"), - _("Physician"), - _("Prescriptions"), - 0 - }; - + const wxChar* HealthcareCategories[] = {_("Health"), _("Dental"), _("Eyecare"), _("Physician"), _("Prescriptions"), 0}; insertCategoryTree(db, st_cat, st_subcat, _("Healthcare"), HealthcareCategories); - // -- - - const wxChar* InsuranceCategories[] = { - _("Auto"), - _("Life"), - _("Home"), - _("Health"), - 0 - }; - + const wxChar* InsuranceCategories[] = {_("Auto"), _("Life"), _("Home"), _("Health"), 0}; insertCategoryTree(db, st_cat, st_subcat, _("Insurance"), InsuranceCategories); - // -- - - const wxChar* VacationCategories[] = { - _("Travel"), - _("Lodging"), - _("Sightseeing"), - 0 - }; - + const wxChar* VacationCategories[] = {_("Travel"), _("Lodging"), _("Sightseeing"), 0}; insertCategoryTree(db, st_cat, st_subcat, _("Vacation"), VacationCategories); - // -- - - const wxChar* TaxesCategories[] = { - _("Income Tax"), - _("House Tax"), - _("Water Tax"), - _("Others"), - 0 - }; - + const wxChar* TaxesCategories[] = {_("Income Tax"), _("House Tax"), _("Water Tax"), _("Others"), 0}; insertCategoryTree(db, st_cat, st_subcat, _("Taxes"), TaxesCategories); - // -- - insertCategoryTree(db, st_cat, st_subcat, _("Miscellaneous"), 0); insertCategoryTree(db, st_cat, st_subcat, _("Gifts"), 0); - // -- - - const wxChar* IncomeCategories[] = { - _("Salary"), - _("Reimbursement/Refunds"), - _("Investment Income"), - 0 - }; - + const wxChar* IncomeCategories[] = {_("Salary"), _("Reimbursement/Refunds"), _("Investment Income"), 0}; insertCategoryTree(db, st_cat, st_subcat, _("Income"), IncomeCategories); - // -- - insertCategoryTree(db, st_cat, st_subcat, _("Other Income"), 0); insertCategoryTree(db, st_cat, st_subcat, _("Other Expenses"), 0); insertCategoryTree(db, st_cat, st_subcat, _("Transfer"), 0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2012-02-06 12:27:55
|
Revision: 1753 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1753&view=rev Author: vomikan Date: 2012-02-06 12:27:45 +0000 (Mon, 06 Feb 2012) Log Message: ----------- fix Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2012-02-06 09:08:57 UTC (rev 1752) +++ trunk/mmex/src/dbwrapper.cpp 2012-02-06 12:27:45 UTC (rev 1753) @@ -2701,12 +2701,11 @@ char sql[]= "select c.categname || case when sc.subcategname not null then ' : '||sc.subcategname else ''end as CATEG " - ", sum(-st.splittransamount) as SPLITTRANSAMOUNT " + ", -st.splittransamount as SPLITTRANSAMOUNT " "from splittransactions_v1 st " "left join category_v1 c on st.categid=c.categid " "left join subcategory_v1 sc on st.subcategid=sc.subcategid " "where st.transid = ? " - "group by st.categid, st.subcategid " "order by c.categname, sc.subcategname"; wxSQLite3Statement st = db_->PrepareStatement(sql); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2012-02-18 14:45:00
|
Revision: 1835 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1835&view=rev Author: vomikan Date: 2012-02-18 14:44:54 +0000 (Sat, 18 Feb 2012) Log Message: ----------- string for translation simplification Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2012-02-18 14:28:53 UTC (rev 1834) +++ trunk/mmex/src/dbwrapper.cpp 2012-02-18 14:44:54 UTC (rev 1835) @@ -119,7 +119,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::loadCurrencies: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("insert into CURRENCYFORMATS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } //---------------------------------------------------------------------------- @@ -226,7 +226,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createDefaultCategories: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create default Categories. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("insert into [SUB]CATEGORY_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } //---------------------------------------------------------------------------- @@ -298,7 +298,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createInfoV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create INFOTABLE_V1. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create table INFOTABLE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -343,7 +343,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createCurrencyV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create CURRENCYFORMATS_V1. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create CURRENCYFORMATS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -372,7 +372,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createBudgetingV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("CreateBudgetingV1Table. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create table BUDGETTABLE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -392,7 +392,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createStockV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create table STOCK_V1. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create table STOCK_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -413,7 +413,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createAssetsV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create table ASSETS_V1. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create table ASSETS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -434,7 +434,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createBillsDepositsV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("create table BILLSDEPOSITS_V1. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create table BILLSDEPOSITS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -485,7 +485,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createAccountListV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create table ACCOUNTLIST_V1. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create table ACCOUNTLIST_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -505,7 +505,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createCheckingAccountV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create table CHECKINGACCOUNT_V1. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create table CHECKINGACCOUNT_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -532,7 +532,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createSplitTransactionsV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create SplitTransactionsV1Table. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create table BUDGETSPLITTRANSACTIONS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -550,7 +550,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createPayeeV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create table PAYEE_V1. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create table PAYEE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -588,7 +588,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createCategoryV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create table CATEGORY_V1. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create table CATEGORY_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -684,7 +684,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::createAllDataView: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create AllData view. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create AllData view. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -721,7 +721,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::removeCruft: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Remove Cruft. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Remove Cruft. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -855,7 +855,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::setBaseCurrencySettings: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Set Base Currency Settings. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("insert or update INFOTABLE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -971,7 +971,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::deleteCategoryWithConstraints: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Delete Category with Constraints. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Delete Category with Constraints. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); return false; } } @@ -1032,7 +1032,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::deleteSubCategoryWithConstraints: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Delete SubCategory with Constraints. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Delete SubCategory with Constraints. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); return false; } } @@ -1072,7 +1072,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::updateCategory: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Update Category. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("update [SUB]CATEGORY_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } return true; @@ -1092,7 +1092,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::addCategory: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Add Category. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("insert into CATEGORY_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } return rows_affected == 1; } @@ -1115,7 +1115,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::addSubCategory: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Add SubCategory. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("insert into SUBCATEGORY_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } mmOptions::instance().databaseUpdated_ = true; return rows_affected == 1; @@ -1192,7 +1192,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::deleteTransaction: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("DeleteTransaction. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Delete Transaction. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); return false; } } @@ -1245,7 +1245,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::updatePayee: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Update Payee. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("update PAYEE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); return false; } @@ -1281,7 +1281,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::deletePayeeWithConstraints: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Delete Payee With Constraints. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("delete from PAYEE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); return false; } @@ -1419,7 +1419,7 @@ catch (wxSQLite3Exception e) { wxLogDebug(wxT("Database::Create table SETTING_V1: Exception: %s"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Create table SETTING_V1. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("create table SETTING_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } try @@ -1485,7 +1485,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::setINISettingValue: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Set INI Setting Value. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Set INI Setting Value. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -1504,7 +1504,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Database::updateTransactionWithStatus: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Update Transaction With Status. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Update Transaction With Status. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); return false; } return true; @@ -1757,7 +1757,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Function::addBudgetYear: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Add Budget Year. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Add Budget Year. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -1844,7 +1844,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Function::updateYearForID: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Update Year For ID. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Update Year For ID. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -1881,7 +1881,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Function::copyBudgetYear: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Copy Budget Year. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Copy Budget Year. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } return true; } @@ -1912,7 +1912,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Function::deleteBudgetYear: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Delete Budget Year. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Delete Budget Year. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } return true; } @@ -1950,7 +1950,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Function::addBudgetEntry: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Add Budget Entry. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Add Budget Entry. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -1967,7 +1967,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Function::deleteBudgetEntry: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("delete from BUDGETTABLE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -1997,7 +1997,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Function::updateBudgetEntry: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("delete from BUDGETTABLE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -2180,7 +2180,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Function::completeBDInSeries: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Complete BD In Series. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Complete BD In Series. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -2196,7 +2196,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Function::deleteStockInvestment: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Delete Stock Investment. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Delete Stock Investment. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -2278,7 +2278,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Function::deleteAsset: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Delete Asset. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("delete from ASSETS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } @@ -2461,7 +2461,7 @@ } catch(wxSQLite3Exception e) { wxLogDebug(wxT("Function::removeSplitsForAccount: Exception"), e.GetMessage().c_str()); - wxLogError(wxString::Format(_("Remove Splits For Account. Error: %s"), e.GetMessage().c_str())); + wxLogError(wxT("Remove Splits For Account. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); } } //---------------------------------------------------------------------------- @@ -2490,30 +2490,6 @@ } //---------------------------------------------------------------------------- -/*int mmDBWrapper::isReadOnly(wxSQLite3Database &db) -{ - int err = SQLITE_OK; - - if (!db.IsOpen()) { - return err; - } - - try { - db.Begin(WXSQLITE_TRANSACTION_IMMEDIATE); - db.Commit(); - - } catch (wxSQLite3Exception &e) { - - err = e.GetExtendedErrorCode(); - if (err != SQLITE_CANTOPEN && err != SQLITE_READONLY && err != SQLITE_NOTADB) { - throw; - } - } - - return err; -}*/ -//---------------------------------------------------------------------------- - /* SQLITE_OPEN_READWRITE The database is opened for reading and writing if possible, or reading This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gua...@us...> - 2012-03-08 06:16:40
|
Revision: 1952 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=1952&view=rev Author: guanlisheng Date: 2012-03-08 06:16:33 +0000 (Thu, 08 Mar 2012) Log Message: ----------- cleanup Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2012-03-07 18:29:24 UTC (rev 1951) +++ trunk/mmex/src/dbwrapper.cpp 2012-03-08 06:16:33 UTC (rev 1952) @@ -36,27 +36,6 @@ const char g_BaseCurrencyIdName[] = "BASECURRENCYID"; //---------------------------------------------------------------------------- - -/* - Appends "ACCOUNTLIST acl" & "CURRENCYFORMATS <table_alias>" tables to query. -*/ -std::string joinCURRENCYFORMATS(const char *table_alias, const char *col_accountid) -{ - wxASSERT(col_accountid); - - std::string sql = " join ACCOUNTLIST_V1 acl " - "on acl.ACCOUNTID = "; - - sql += col_accountid; - - sql += " join CURRENCYFORMATS_V1 "; - sql += table_alias; - sql += " on cf.CURRENCYID = acl.CURRENCYID "; - - return sql; -} -//---------------------------------------------------------------------------- - void loadCurrencies(wxSQLite3Database* db) { try{ @@ -2381,7 +2360,6 @@ exit(err); return db; // return a NULL database pointer - } // #define SQLITE_OK 0 /* Successful result */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2012-03-13 13:50:16
|
Revision: 2012 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=2012&view=rev Author: vomikan Date: 2012-03-13 13:50:05 +0000 (Tue, 13 Mar 2012) Log Message: ----------- more information for exception Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2012-03-13 13:00:38 UTC (rev 2011) +++ trunk/mmex/src/dbwrapper.cpp 2012-03-13 13:50:05 UTC (rev 2012) @@ -1439,8 +1439,12 @@ wxASSERT(rows_affected == 1); } catch(wxSQLite3Exception e) { + wxString error_str; wxLogDebug(wxT("Database::setINISettingValue: Exception"), e.GetMessage().c_str()); - wxLogError(wxT("Set INI Setting Value. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); + error_str << wxT("Set INI Setting Value. "); + error_str << wxString::Format(wxT("%s = %s \t"), settingName.c_str(), settingValue.c_str()); + error_str << wxString::Format(_("Error: %s"), e.GetMessage().c_str()); + wxLogError(error_str); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gua...@us...> - 2012-04-18 15:05:03
|
Revision: 2192 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=2192&view=rev Author: guanlisheng Date: 2012-04-18 15:04:52 +0000 (Wed, 18 Apr 2012) Log Message: ----------- format Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2012-04-18 12:22:20 UTC (rev 2191) +++ trunk/mmex/src/dbwrapper.cpp 2012-04-18 15:04:52 UTC (rev 2192) @@ -95,7 +95,7 @@ rs.Finalize(); currencies.Close(); - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::loadCurrencies: Exception"), e.GetMessage().c_str()); wxLogError(wxT("insert into CURRENCYFORMATS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -202,7 +202,7 @@ // cleanup st_subcat.Finalize(); st_cat.Finalize(); - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createDefaultCategories: Exception"), e.GetMessage().c_str()); wxLogError(wxT("insert into [SUB]CATEGORY_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -274,7 +274,7 @@ } st.Finalize(); } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createInfoV1Table: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create table INFOTABLE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -319,7 +319,7 @@ db->ExecuteUpdate(sql); loadCurrencies(db); } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createCurrencyV1Table: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create CURRENCYFORMATS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -348,7 +348,7 @@ valid = db->TableExists(wxT("BUDGETTABLE_V1")); wxASSERT(valid); } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createBudgetingV1Table: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create table BUDGETTABLE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -368,7 +368,7 @@ valid = db->TableExists(wxT("STOCK_V1")); wxASSERT(valid); } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createStockV1Table: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create table STOCK_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -389,7 +389,7 @@ valid = db->TableExists(wxT("ASSETS_V1")); wxASSERT(valid); } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createAssetsV1Table: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create table ASSETS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -410,7 +410,7 @@ valid = db->TableExists(wxT("BILLSDEPOSITS_V1")); wxASSERT(valid); } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createBillsDepositsV1Table: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create table BILLSDEPOSITS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -461,7 +461,7 @@ int ret = db->ExecuteUpdate(wxT("alter table ACCOUNTLIST_V1 ADD INFOID TEXT;")); #endif } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createAccountListV1Table: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create table ACCOUNTLIST_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -481,7 +481,7 @@ exists = db->TableExists(wxT("CHECKINGACCOUNT_V1")); wxASSERT(exists); } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createCheckingAccountV1Table: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create table CHECKINGACCOUNT_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -508,7 +508,7 @@ exists = db->TableExists(wxT("BUDGETSPLITTRANSACTIONS_V1")); wxASSERT(exists); } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createSplitTransactionsV1Table: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create table BUDGETSPLITTRANSACTIONS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -526,7 +526,7 @@ exists = db->TableExists(wxT("PAYEE_V1")); wxASSERT(exists); } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createPayeeV1Table: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create table PAYEE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -564,7 +564,7 @@ { createDefaultCategories(db); } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createCategoryV1Table: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create table CATEGORY_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -660,7 +660,7 @@ exists = ViewExists(db, view_name); wxASSERT(exists); } - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::createAllDataView: Exception"), e.GetMessage().c_str()); wxLogError(wxT("create AllData view. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -697,7 +697,7 @@ db->ExecuteUpdate(bufSQL3); } #endif - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::removeCruft: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Remove Cruft. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -831,7 +831,7 @@ st.Finalize(); } wxASSERT(rows_affected == 1); - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::setBaseCurrencySettings: Exception"), e.GetMessage().c_str()); wxLogError(wxT("insert or update INFOTABLE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -947,7 +947,7 @@ mmOptions::instance().databaseUpdated_ = true; return true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::deleteCategoryWithConstraints: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Delete Category with Constraints. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1008,7 +1008,7 @@ mmOptions::instance().databaseUpdated_ = true; return true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::deleteSubCategoryWithConstraints: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Delete SubCategory with Constraints. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1048,7 +1048,7 @@ } mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::updateCategory: Exception"), e.GetMessage().c_str()); wxLogError(wxT("update [SUB]CATEGORY_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1068,7 +1068,7 @@ st.Finalize(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::addCategory: Exception"), e.GetMessage().c_str()); wxLogError(wxT("insert into CATEGORY_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1091,7 +1091,7 @@ rows_affected = st.ExecuteUpdate(); st.Finalize(); - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::addSubCategory: Exception"), e.GetMessage().c_str()); wxLogError(wxT("insert into SUBCATEGORY_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1168,7 +1168,7 @@ } mmOptions::instance().databaseUpdated_ = true; return true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::deleteTransaction: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Delete Transaction. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1197,7 +1197,7 @@ st.Finalize(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::updatePayee: Exception"), e.GetMessage().c_str()); wxLogError(wxT("update PAYEE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1234,7 +1234,7 @@ st.Finalize(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) { + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::deletePayeeWithConstraints: Exception"), e.GetMessage().c_str()); wxLogError(wxT("delete from PAYEE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); return false; @@ -1353,7 +1353,7 @@ { ok = inidb->TableExists(wxT("SETTING_V1")); } - catch (wxSQLite3Exception e) + catch (const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::TableExists: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1371,7 +1371,7 @@ { inidb->ExecuteUpdate(sql); } - catch (wxSQLite3Exception e) + catch (const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::Create table SETTING_V1: Exception: %s"), e.GetMessage().c_str()); wxLogError(wxT("create table SETTING_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1381,7 +1381,7 @@ { ok = inidb->TableExists(wxT("SETTING_V1")); } - catch (wxSQLite3Exception e) + catch (const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::TableExists: Exception: %s"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1437,7 +1437,7 @@ st.Finalize(); } wxASSERT(rows_affected == 1); - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxString error_str; wxLogDebug(wxT("Database::setINISettingValue: Exception"), e.GetMessage().c_str()); @@ -1460,7 +1460,7 @@ st.Finalize(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Database::updateTransactionWithStatus: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Update Transaction With Status. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1508,7 +1508,7 @@ st.Finalize(); } wxASSERT(rows_affected == 1); - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::setInfoSettingValue: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Set Info Setting Value %s = %s. Error: %s"), settingName.c_str(), settingValue.c_str(), e.GetMessage().c_str())); @@ -1543,7 +1543,7 @@ st.Finalize(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::addBudgetYear: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Add Budget Year. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1630,7 +1630,7 @@ st.Finalize(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::updateYearForID: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Update Year For ID. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1667,7 +1667,7 @@ st.Finalize(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::copyBudgetYear: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Copy Budget Year. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1698,7 +1698,7 @@ } mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::deleteBudgetYear: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Delete Budget Year. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1736,7 +1736,7 @@ st.Finalize(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::addBudgetEntry: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Add Budget Entry. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1753,7 +1753,7 @@ st.Finalize(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::deleteBudgetEntry: Exception"), e.GetMessage().c_str()); wxLogError(wxT("delete from BUDGETTABLE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1783,7 +1783,7 @@ st.Finalize(); addBudgetEntry(db, budgetYearID, categID, subCategID, period, amount); - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::updateBudgetEntry: Exception"), e.GetMessage().c_str()); wxLogError(wxT("delete from BUDGETTABLE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1841,7 +1841,7 @@ } mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::deleteBDSeries: Exception"), e.GetMessage().c_str()); wxLogError(wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1968,7 +1968,7 @@ db->ExecuteUpdate("delete from BILLSDEPOSITS_V1 where NUMOCCURRENCES = 0"); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::completeBDInSeries: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Complete BD In Series. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -1984,7 +1984,7 @@ st.Finalize(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::deleteStockInvestment: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Delete Stock Investment. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -2066,7 +2066,7 @@ st.Finalize(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::deleteAsset: Exception"), e.GetMessage().c_str()); wxLogError(wxT("delete from ASSETS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -2249,7 +2249,7 @@ st.Finalize(); db->Commit(); mmOptions::instance().databaseUpdated_ = true; - } catch(wxSQLite3Exception e) + } catch(const wxSQLite3Exception& e) { wxLogDebug(wxT("Function::removeSplitsForAccount: Exception"), e.GetMessage().c_str()); wxLogError(wxT("Remove Splits For Account. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); @@ -2296,7 +2296,7 @@ try { db->Open(dbpath, key); - } catch (wxSQLite3Exception e) + } catch (const wxSQLite3Exception& e) { //wxLogError(wxT("Database::open: Exception: %s"), e.GetMessage().c_str()); //wxLogDebug(wxT("Database::open: Exception: %s"), e.GetMessage().c_str()); @@ -2308,7 +2308,7 @@ //Try if db selectable try { db->ExecuteScalar("select count(*) from sqlite_master where type='table'"); - } catch (wxSQLite3Exception &e) + } catch (const wxSQLite3Exception &e) { err = e.GetExtendedErrorCode(); errStr = e.GetMessage(); @@ -2323,7 +2323,7 @@ db->Commit(); //if got any error that mean we can use it but in read only mode - } catch (wxSQLite3Exception &e) { + } catch (const wxSQLite3Exception &e) { err = e.GetExtendedErrorCode(); errStr = e.GetMessage(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vo...@us...> - 2012-04-26 08:06:03
|
Revision: 2202 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=2202&view=rev Author: vomikan Date: 2012-04-26 08:05:52 +0000 (Thu, 26 Apr 2012) Log Message: ----------- removed write operations during app start Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2012-04-26 06:02:36 UTC (rev 2201) +++ trunk/mmex/src/dbwrapper.cpp 2012-04-26 08:05:52 UTC (rev 2202) @@ -218,14 +218,8 @@ { try{ /* We always create new INFOTABLE_V1 */ - bool exists = db->TableExists(wxT("INFOTABLE_V1")); - if (exists) + if (!db->TableExists(wxT("INFOTABLE_V1"))) { - setInfoSettingValue(db, wxT("MODIFIEDDATE"), wxDateTime::Now().FormatISODate()); - setInfoSettingValue(db, wxT("DATAVERSION"), mmex::DATAVERSION); - } - else - { static const char sql[] = "create table INFOTABLE_V1 " "( " @@ -673,14 +667,16 @@ { if (db->TableExists(wxT("SPLITTRANSACTIONS_V1"))) { - db->ExecuteUpdate("DELETE FROM SPLITTRANSACTIONS_V1 WHERE SPLITTRANSACTIONS_V1.TRANSID NOT IN (SELECT TRANSID FROM CHECKINGACCOUNT_V1)"); + if (db->ExecuteScalar("SELECT COUNT(*) FROM SPLITTRANSACTIONS_V1 WHERE SPLITTRANSACTIONS_V1.TRANSID NOT IN (SELECT TRANSID FROM CHECKINGACCOUNT_V1)") > 0) + db->ExecuteUpdate("DELETE FROM SPLITTRANSACTIONS_V1 WHERE SPLITTRANSACTIONS_V1.TRANSID NOT IN (SELECT TRANSID FROM CHECKINGACCOUNT_V1)"); } } { if (db->TableExists(wxT("BUDGETSPLITTRANSACTIONS_V1"))) { - db->ExecuteUpdate("DELETE FROM BUDGETSPLITTRANSACTIONS_V1 WHERE BUDGETSPLITTRANSACTIONS_V1.TRANSID NOT IN (SELECT BDID FROM BILLSDEPOSITS_V1)"); + if (db->ExecuteScalar("SELECT COUNT(*) FROM BUDGETSPLITTRANSACTIONS_V1 WHERE BUDGETSPLITTRANSACTIONS_V1.TRANSID NOT IN (SELECT BDID FROM BILLSDEPOSITS_V1)") > 0) + db->ExecuteUpdate("DELETE FROM BUDGETSPLITTRANSACTIONS_V1 WHERE BUDGETSPLITTRANSACTIONS_V1.TRANSID NOT IN (SELECT BDID FROM BILLSDEPOSITS_V1)"); } } @@ -2316,24 +2312,16 @@ if (err==SQLITE_OK) { - //attempt to commit empty transaction. timeout 2 sec - try { - db->SetBusyTimeout(2000); - db->Begin(WXSQLITE_TRANSACTION_IMMEDIATE); - db->Commit(); + //timeout 2 sec + db->SetBusyTimeout(2000); - //if got any error that mean we can use it but in read only mode - } catch (const wxSQLite3Exception &e) { - err = e.GetExtendedErrorCode(); - errStr = e.GetMessage(); - } + //TODO oblolete code if (err!=SQLITE_OK) { - wxLogDebug(wxT("Database::write attemption: Exception"), errStr); wxLogError(wxString::Format(_("Write error: %s"), errStr.c_str())); } - } return (db); + } } db->Close(); db.reset(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gua...@us...> - 2012-04-30 10:51:00
|
Revision: 2216 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=2216&view=rev Author: guanlisheng Date: 2012-04-30 10:50:51 +0000 (Mon, 30 Apr 2012) Log Message: ----------- sync from branch experiment Modified Paths: -------------- trunk/mmex/src/dbwrapper.cpp Modified: trunk/mmex/src/dbwrapper.cpp =================================================================== --- trunk/mmex/src/dbwrapper.cpp 2012-04-30 06:45:31 UTC (rev 2215) +++ trunk/mmex/src/dbwrapper.cpp 2012-04-30 10:50:51 UTC (rev 2216) @@ -367,134 +367,29 @@ void mmDBWrapper::createAccountListV1Table(wxSQLite3Database* db) { - try{ - bool exists = db->TableExists(wxT("ACCOUNTLIST_V1")); - if (!exists) - { - db->ExecuteUpdate(wxT("create table ACCOUNTLIST_V1(ACCOUNTID integer primary key, \ - ACCOUNTNAME TEXT NOT NULL, ACCOUNTTYPE TEXT NOT NULL, ACCOUNTNUM TEXT, \ - STATUS TEXT NOT NULL, \ - NOTES TEXT, HELDAT TEXT, WEBSITE TEXT, CONTACTINFO TEXT, \ - ACCESSINFO TEXT, INITIALBAL numeric, FAVORITEACCT TEXT NOT NULL, \ - CURRENCYID integer NOT NULL);")); - exists = db->TableExists(wxT("ACCOUNTLIST_V1")); - wxASSERT(exists); - } - else - { -#if 0 - // if we add new fields, we need to alter table as follows - int ret = db->ExecuteUpdate(wxT("alter table ACCOUNTLIST_V1 ADD INFOID TEXT;")); -#endif - } - } catch(const wxSQLite3Exception& e) - { - wxLogDebug(wxT("Database::createAccountListV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxT("create table ACCOUNTLIST_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); - } + ACCOUNTLIST_V1.ensure(db); } void mmDBWrapper::createCheckingAccountV1Table(wxSQLite3Database* db) { - try{ - bool exists = db->TableExists(wxT("CHECKINGACCOUNT_V1")); - if (!exists) - { - db->ExecuteUpdate(wxT("create table CHECKINGACCOUNT_V1(TRANSID integer primary key, \ - ACCOUNTID integer NOT NULL, TOACCOUNTID integer, PAYEEID integer NOT NULL, TRANSCODE TEXT NOT NULL, \ - TRANSAMOUNT numeric NOT NULL, STATUS TEXT, TRANSACTIONNUMBER TEXT, NOTES TEXT, \ - CATEGID integer, SUBCATEGID integer, TRANSDATE TEXT, FOLLOWUPID integer, TOTRANSAMOUNT numeric);")); - exists = db->TableExists(wxT("CHECKINGACCOUNT_V1")); - wxASSERT(exists); - } - } catch(const wxSQLite3Exception& e) - { - wxLogDebug(wxT("Database::createCheckingAccountV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxT("create table CHECKINGACCOUNT_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); - } + CHECKINGACCOUNT_V1.ensure(db); } void mmDBWrapper::createSplitTransactionsV1Table(wxSQLite3Database* db) { - try{ - bool exists = db->TableExists(wxT("SPLITTRANSACTIONS_V1")); - if (!exists) - { - db->ExecuteUpdate(wxT("create table SPLITTRANSACTIONS_V1(SPLITTRANSID integer primary key, \ - TRANSID numeric NOT NULL, CATEGID integer, SUBCATEGID integer, SPLITTRANSAMOUNT numeric);")); - exists = db->TableExists(wxT("SPLITTRANSACTIONS_V1")); - wxASSERT(exists); - } - - exists = db->TableExists(wxT("BUDGETSPLITTRANSACTIONS_V1")); - if (!exists) - { - db->ExecuteUpdate(wxT("create table BUDGETSPLITTRANSACTIONS_V1(SPLITTRANSID integer primary key, \ - TRANSID integer NOT NULL, CATEGID integer, SUBCATEGID integer, SPLITTRANSAMOUNT numeric);")); - exists = db->TableExists(wxT("BUDGETSPLITTRANSACTIONS_V1")); - wxASSERT(exists); - } - } catch(const wxSQLite3Exception& e) - { - wxLogDebug(wxT("Database::createSplitTransactionsV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxT("create table BUDGETSPLITTRANSACTIONS_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); - } + SPLITTRANSACTIONS_V1.ensure(db); + BUDGETSPLITTRANSACTIONS_V1.ensure(db); } void mmDBWrapper::createPayeeV1Table(wxSQLite3Database* db) { - try{ - bool exists = db->TableExists(wxT("PAYEE_V1")); - if (!exists) - { - db->ExecuteUpdate(wxT("create table PAYEE_V1(PAYEEID integer primary key, \ - PAYEENAME TEXT NOT NULL, CATEGID integer, SUBCATEGID integer);")); - exists = db->TableExists(wxT("PAYEE_V1")); - wxASSERT(exists); - } - } catch(const wxSQLite3Exception& e) - { - wxLogDebug(wxT("Database::createPayeeV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxT("create table PAYEE_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); - } + PAYEE_V1.ensure(db); } void mmDBWrapper::createCategoryV1Table(wxSQLite3Database* db) { - try{ - bool existsCat = db->TableExists(wxT("CATEGORY_V1")); - if (!existsCat) - { - /* Create CATEGORY_V1 Tables */ - db->ExecuteUpdate(wxT("create table CATEGORY_V1(CATEGID integer primary key, \ - CATEGNAME TEXT NOT NULL);")); - - { - bool ok = db->TableExists(wxT("CATEGORY_V1")); - wxASSERT(ok); - ok = ok; // removes compiler's warning - } - } - - bool existsSubCat = db->TableExists(wxT("SUBCATEGORY_V1")); - if (!existsSubCat) - { - /* Create SUBCATEGORY_V1 Tables */ - db->ExecuteUpdate(wxT("create table SUBCATEGORY_V1(SUBCATEGID integer primary key, \ - SUBCATEGNAME TEXT NOT NULL, CATEGID integer NOT NULL);")); - existsSubCat = db->TableExists(wxT("SUBCATEGORY_V1")); - wxASSERT(existsSubCat); - } - - if (!existsCat) - { - createDefaultCategories(db); - } - } catch(const wxSQLite3Exception& e) - { - wxLogDebug(wxT("Database::createCategoryV1Table: Exception"), e.GetMessage().c_str()); - wxLogError(wxT("create table CATEGORY_V1. ") + wxString::Format(_("Error: %s"), e.GetMessage().c_str())); - } + CATEGORY_V1.ensure(db); + SUBCATEGORY_V1.ensure(db); } /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |