今日主要完成了賬本開發的資料庫操作,包括資料庫的建立,增加,刪除,查詢,以及賬目統計。
查詢有很多種情況,可以按天,按月,按年和綜合查詢。統計包括統計一定日期範圍內的收入與支出。
以下為資料庫操作類caccount的**部分:
publicclass caccount extends
sqliteopenhelper
public
static caccount getinstance(context context, int
version)
private
static
final string createaccounttablesql=
"create table if not exists account("+
"acctid integer primary key,"+
"accttitle text not null,"+
"acctamount float,"+
"acctdate integer,"+
"acctyear integer,"+
"acctmonth integer,"+
"acctday,integer,"+
"accttype,integer);";
@override
public
void
oncreate(sqlitedatabase db)
@override
public
void onupgrade(sqlitedatabase db, int oldversion, int
newversion)
public
long insert(string title,double amount,long
type,cdatetime dt)
public
long delete(long
id)
public
static
final string fields="acctid,accttitle,acctamount,acctdate,accttype,acctyear,acctmonth,acctday";
private
static list>tolist(cursor cursor)
while
(cursor.movetonext());
}return
result;
}//按天查詢
public list> querybyday(long
msec)
//按月查詢
public list> querybymonth(long
msec)
//按年查詢
public list> querybyyear(long
msec));
list
> result=tolist(cursor);
db.close();
return
result;
}//綜合查詢
public list> query(string keyword,long starttime,long endtime,long
type)
//型別
if(type==1||type==2)
sqlitedatabase db=getreadabledatabase();
cursor cursor=db.rawquery(sb.tostring(),new
string{});
list
> result=tolist(cursor);
db.close();
return
result;
}//計算指定日期範圍內的總收入
public
double incomesum(long starttime,long
endtime)
else
sqlitedatabase db=getreadabledatabase();
cursor cursor=db.rawquery(sql,new
string{});
double result=0d;
if(cursor.movetofirst()) result=cursor.getdouble(0);
db.close();
return
result;
}//計算指定日期範圍內的總支出
public
double expendituresum(long starttime,long
endtime)
else
sqlitedatabase db=getreadabledatabase();
cursor cursor=db.rawquery(sql,new
string{});
double result=0d;
if(cursor.movetofirst()) result=cursor.getdouble(0);
db.close();
return
result;
}}
大二寒假作業賬本開發
今日修復了賬本的一些bug 這應該是日期類的月份是從0開始,以及datepickerdialog的ondateset函式的緣故,將 作如下修改 cdatetime dt new cdatetime datepickerdialog dlg new datepickerdialog this,new ...
寒假作業二
1.你目前遇到的困難或面臨的焦慮,或最困擾你的事是什麼?目前遇到的焦慮就是很擔心自己對學業上的學習,總是感覺大學的學習使不上力。困擾我的就是自己作為計算機專業的一員,卻對計算機一無所知。而且假期期間,自律能力較差,不能進行合理的作息。2.針對你目前遇到的困難和焦慮中,閱讀帶給你的啟發是什麼?關於自己...
寒假作業之總結
markdown的語法和使用方法。它的學習可以使自己的部落格可以稍微美觀一些,這樣別人才會有一定動力去讀你的部落格。github的簡單了解和學習。雖然有過一定學習它,但是每次上傳檔案還是要看教程一步步來,我想多用幾次應該就可以熟練了吧。高等數學和英語的學習。基本每天都會有一小時來學習english,...