数据库课程设计报告个人记账系统Word下载.docx
- 文档编号:7518391
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:41
- 大小:444.37KB
数据库课程设计报告个人记账系统Word下载.docx
《数据库课程设计报告个人记账系统Word下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告个人记账系统Word下载.docx(41页珍藏版)》请在冰点文库上搜索。
触发器:
familyinfo表上定义update触发器完成对income和pay上收支人员的一致性更新。
income表上定义insert,delete及update触发器,完成对于account表上的各个数据的一致性更新。
pay表上定义insert,delete及update触发器,完成对于account表上的各个数据的一致性更新。
account表上定义insert,delete及update触发器,调用countall存储过程完成对于allacount表上数据的统计更新。
四、系统功能模块图
1、数据源连接
2、界面设计
登陆界面:
注册界面:
收入管理界面:
界面中分为三个部分,第一部分收入信息,第二部分显示当前总收支及与结余,并随着用户添加修改删除的操作及时更新,第三部分是操作信息,包括查询、添加、修改、删除。
住处管理界面:
收支界面显示:
家庭人员信息显示:
五、附:
源程序代码
SQL代码
触发器pay表上
de_pay
createtriggerde_pay
onpay
fordelete
as
declare@new_timechar(20)
declare@new_itemchar(20)
declare@new_monint
declare@new_relachar(20)
declare@new_explchar(200)
select@new_time=支出时间fromdeleted
select@new_item=支出项目fromdeleted
select@new_mon=支出金额fromdeleted
select@new_rela=支出人员fromdeleted
select@new_expl=支出说明fromdeleted
deletefromaccountwhere录入时间=@new_timeand收支金额=@new_monand收支项目=@new_itemand收支人员=@new_relaand收支说明=@new_expl
out_tr
createtriggerout_tr
forinsert
select@new_time=支出时间frominserted
select@new_item=支出项目frominserted
select@new_mon=支出金额frominserted
select@new_rela=支出人员frominserted
select@new_expl=支出说明frominserted
insertintoaccount(录入时间,收支类型,收支金额,收支项目,收支人员,收支说明)
values(@new_time,'
支出'
@new_mon,@new_item,@new_rela,@new_expl)
up_pay
createtriggerup_pay
forupdate
declare@old_timechar(20)
declare@old_itemchar(20)
declare@old_monint
declare@old_relachar(20)
declare@old_explchar(200)
select@old_time=支出时间fromdeleted
select@old_item=支出项目fromdeleted
select@old_mon=支出金额fromdeleted
select@old_rela=支出人员fromdeleted
select@old_expl=支出说明fromdeleted
updateaccountset录入时间=@new_timewhere录入时间=@old_time
updateaccountset收支金额=@new_monwhere收支金额=@old_mon
updateaccountset收支项目=@new_itemwhere收支项目=@old_item
updateaccountset收支人员=@new_relawhere收支人员=@old_rela
updateaccountset收支说明=@new_explwhere收支说明=@old_expl
income表上
createtriggerde_income
onincome
select@new_time=收入日期fromdeleted
select@new_item=收入项目fromdeleted
select@new_mon=收入金额fromdeleted
select@new_rela=收入人员fromdeleted
select@new_expl=收入说明fromdeleted
createtriggerin_tr
select@new_time=收入日期frominserted
select@new_item=收入项目frominserted
select@new_mon=收入金额frominserted
select@new_rela=收入人员frominserted
select@new_expl=收入说明frominserted
收入'
createtriggerup_income
select@old_time=收入日期fromdeleted
select@old_item=收入项目fromdeleted
select@old_mon=收入金额fromdeleted
select@old_rela=收入人员fromdeleted
select@old_expl=收入说明fromdeleted
familyinfo表上
createtriggerup_family
ondbo.familyinfo
select@new_rela=家庭人员frominserted
select@old_rela=家庭人员fromdeleted
updateincomeset收入人员=@new_relawhere收入人员=@old_rela
updatepayset支出人员=@new_relawhere支出人员=@old_rela
account表上
createtriggerde_account
onaccount
execcountall
createtriggerin_account
forinsert
createtriggerup_account
CREATEproccountall
declare@sum_incomeint
declare@sum_payint
declare@sum_countint
declare@old_incomeint
declare@old_payint
declare@old_sumint
select@old_income=总收入,@old_pay=总支出,@old_sum=结余fromallaccount
select@sum_income=sum(收支金额)fromaccountwhere收支类型='
select@sum_pay=sum(收支金额)fromaccountwhere收支类型='
set@sum_count=@sum_income-@sum_pay
updateallaccountset总收入=@sum_incomewhere总收入=@old_income
updateallaccountset总支出=@sum_paywhere总支出=@old_pay
updateallaccountset结余=@sum_countwhere结余=@old_sum
VB代码
'
模块
PubliccnAsADODB.Connection
PublicrsAsADODB.Recordset
菜单
PrivateSubCommand1_Click()
菜单.Hide
收入管理.Show
EndSub
PrivateSubCommand2_Click()
支出管理.Show
PrivateSubCommand3_Click()
收支显示.Show
PrivateSubCommand4_Click()
登录.Show
PrivateSubCommand5_Click()
IfMsgBox("
你确定要退出吗?
"
vbOKCancel,"
提示"
)=vbOKThen
End
EndIf
PrivateSubCommand6_Click()
家庭人员.Show
登录
Setcn=NewADODB.Connection
Setrs=NewADODB.Recordset
cn.Open"
dsn=keep_account"
rs.Open"
select*fromuserinfowhereusername='
&
Text1&
"
andpassword='
Text2&
cn,adOpenStatic,adLockOptimistic
Ifrs.RecordCount>
0Then
菜单.Show
登录.Hide
Else
MsgBox"
密码错误或用户名不存在!
请重新输入。
a=a+1'
密码没输入一次a的数值就增加1
Text1.Text="
Text2.Text="
Ifa>
2Then'
三次输入错误,程序强制退出
三次输入错误,强制退出!
EndIf
登录.Hide
注册.Show
家庭人员
PublicSubexport()
Text1.Text=rs.Fields("
家庭人员"
)
Text2.Text=rs.Fields("
年龄"
Text3.Text=rs.Fields("
政治面貌"
Text4.Text=rs.Fields("
职业"
Text5.Text=rs.Fields("
说明"
PublicSubimport()
rs.Fields("
)=Text1.Text
)=Text2.Text
)=Text3.Text
)=Text4.Text
)=Text5.Text
PublicSubclear()
Text1.Text="
Text2.Text="
Text3.Text="
Text4.Text="
Text5.Text="
OnErrorGoToflag
rs.MoveFirst
Callexport
ExitSub
flag:
数据库空或当前已是第一条!
PrivateSubCommand10_Click()
rs.MovePrevious
Ifrs.BOFThen
当前已是第一条记录!
,"
rs.MoveFirst
Callexport
数据库无记录或当前已是第一条!
rs.MoveNext
Ifrs.EOFThen
当前已是最后一条记录!
rs.MoveLast
数据库无记录或当前已是最后一条记录!
rs.MoveLast
rs.AddNew
Callimport
rs.Update
收入管理.Combo3.AddItem(Text1.Text)
收入管理.Hide
支出管理.Combo3.AddItem(Text1.Text)
支出管理.Hide
Callclear
rs.Close
select*fromfamilyinfo"
请检查你输入的格式是否正确."
你确定要修改该条记录?
rs.Delete
PrivateSubCommand7_Click()
DimaAsInteger
DimbAsInteger
a=收入管理.Combo3.ListCount-1
b=支出管理.Combo3.ListCount-1
你确定要删除这一条记录?
rs.MovePrevious
收入管理.Combo3.RemoveItema
收入管理.Hide
支出管理.Combo3.RemoveItemb
数据库无记录或已删除记录!
PrivateSubCommand8_Click()
IfCombo2.Text="
全部显示"
Then
Set家庭人员显示.DataGrid1.DataSource=rs
家庭人员显示.Show
IfText6.Text="
请输入查找信息!
Else
rs.Close
rs.Open"
select*fromf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 报告 个人 记账 系统