C#家庭记账系统

更新时间:2024-01-25 04:43:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《C#.NET开发平台基础》

课程大作业

项目名称: 家庭记账系统 学 号: 201105407 201105401 姓 名: 于明帅 冯成政 专业班级: 软件工程1101班 指导教师: 李世伟 完成日期: 2013年12月25日

目 录

目 录 ...................................................................... 错误!未定义书签。 一、 概述.................................................................. 错误!未定义书签。 (一)系统开发的背景 ...................................................................... 3 (二)系统开发的目的 ...................................................................... 3 二、系统分析............................................................................................. 3 (一)需求分析 .................................................................................. 3 (二)可行性分析 .............................................................................. 4 (三)功能模块分析 .......................................................................... 5 三、数据库设计 ........................................................................................ 5 (一) 数据库需求分析 ...................................................................... 5 (二)数据库表设计 .......................................................................... 5 四、 系统实现 ............................................................................................ 6 五、 使用说明 ............................................................................................ 8 六、总结 ..................................................................................................... 8 参考文献及主要源代码 ............................................................................ 9

一、 概述

本次课程设计我们小组做的是一个基于Visual studio 2010(C#) + SQL server 2005的家庭记账系统,它包括登录界面和系统主界面。可以完成记录收入、支出、查询等功能。

(一)系统开发的背景

随着计算机技术的飞速发展,它不仅改变了世界,同时也改变了人类的生活。作为新世纪的大学生,应当站在时代发展的前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。记账管理系统是一个单位及个人都有很大用途部分,对于一个家庭也是不例外的。

(二)系统开发的目的

开发一个家庭记账管理系统,采用计算机对记账管理,进一步提高了传统手记的可靠性和安全。

二、系统分析

(一)需求分析

本系统是针对用户要求,使用计算机对自己日常的资金和物品的收入、支

出以及相关的各种信息进行记录、修改、添加、删除等操作,并实现对信息进行统计和以文档形式输出的操作而设计的一种现代化财务管理软件。经过分析,本系统需要具有以下功能:

1、能够实现家庭财务管理方面各项功能,能成功的对用户各种信息进行管理。

2、实现查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。 3、能够实现按日期查询以及对库存数据进行按月统计和以文本形式输出。 4、拥有良好的人机交互界面。

(二)可行性分析

对于家庭财务管理信息系统的设计开发是否可行,我们从管理、技术和经济三个方面进行可行性分析。

首先在管理方面,鉴于近年来随着国内外社会经济和科学技术的不断改革和发展,各种各样的开销与收入也越来越多,很多人对于日常帐目的管理感到越来越力不从心,收支管理已刻不容缓,在大多数家庭里,由于计算机知识的缺乏,人们还采用手写记帐的方法,这种管理方法存在跟多缺陷,如:效率低、保密性差,另外时间一长,将产生大量的冗余文件和数据,这对于查找、更新和维护工作都带来了很大的困难。家庭理财系统就是通过计算机对人们日常的收支进行管理,具有相关的收支情况查询和录入,以及有关数据的打印输出,有计算机统计可使人们从繁重的劳动中解脱出来,通过一些简单的输入操作,及时、准确地获得需要的信息。这反映了大部分家庭对于该软件需求的迫切性。

其次在技术方面,近年来,计算机技术飞速发展几乎超出了人们的想象,硬件的更新换代速度更是以级数进行。计算机在处理对象、处理方法上都发生了很大的变化。作为计算机科学的重要分支——数据库技术,也被越来越多的应用领域采用来存储和处理他们的信息资源。作为一款小巧实用的家庭财务管理软件,对于硬件的要求要远远低于当今市场的主流配置,在开发的方法方面,可以借助面向对象的开发方法,利用vb编程语言与系统自带的数据库软件就可以满足。几乎所有拥有电脑的家庭,在不更换任何设备的前提下,就可以自己开发(如果自己具有一定的开发小软件的能力)或者下载安装实用本软件。因此在技术方面不存在任何问题。

最后在经济方面,对于这样一款面向广大家庭的理财软件,低配置的家庭财务小助手要求,注定可以满足大家经济方面的要求。本软件的开发成本很低,投入使用后,可以大大方便用户的日常家庭财务管理工作,给用户带来新的生活体验。

(三)功能模块分析

主要有家庭账目的按时间段查询、添加收入记录、添加支出记录、修改

收入支出记录、清除记录等功能。本系统还具有其他设置选项,如修改用户名和密码、初始化数据库、备份还原数据等。

三、数据库设计

(一) 数据库需求分析

目前,系统与数据库相连接已成为必然。数据库容量大,可以存储很大的信息,同系统可以很好地利用数据库的增删改查功能,使得系统使用更加流畅,更加方便。

(二)数据库表设计

本系统包含两张表

只有一个登陆用户名及密码

详细的账目表

四、 系统实现

主要介绍一下系统实施流程:

登陆界面,用户名:admin 密码:123 (登陆后,可自行修改)

这是系统的一个主界面

使用时间段及关键字的查找

这是设置功能,可以修改用户名及密码,初始化数据库及数据备份及还原

本系统还有托盘功能

五、使用说明

本系统是一个基于Visual studio 2010(C#) + SQL server 2005的家庭记账系统。

在满足了软件使用环境之后需要先还原数据库,将已提供的数据库资料还原到SQL server2005中,数据库名为Dic,连接语句\Source=(local);Initial Catalog=Dic;Integrated Security=true;\数据库中有UserTable和EcTable两个表,新用户可以根据上面系统实现中的讲说来进行使用。

六、总结

经过了近一个月的时间,利用C#.NET开发的家庭记账系统程序终于完成了。本程序是针对大众需求现状的分析之后,确定了程序涉及的领域,包括了界面设计、功能设计、数据库设计等,是一个具有实际应用意义的程序。 经过这次的课题的设计与实现,尽管遇到了很多很多难题,但是我们小组也在这次课程设计中得到了许多经验、心得和锻炼。这让我们发现编译程序的过程其实就是不断解决问题的过程,从中也感受到了编写软件的乐趣,一个人永远有学不完的知识, 就算开发软件的各项知识都学会了,但在实际开发过程中仍然会遇到不少问题,这时就要做到以下这两点:一个是“查” ,另一个则是“问” 。通过仔细的查阅资料和询问老师以及同学, 最终解决了不少的问题。 这也使我们认识到解决问题不仅需要外界的帮助, 更重要的是依靠自己的能力

参考文献

[1]罗斌,罗顺文等编 . Visual C#2005 编程技巧大全 .-北京:中国水利水电出版社, [2] 王超,潘杨 《Visual C# 通用范例开发金典》 电子工业出版社

主要程序源代码 (登录验证)

using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

using System.Windows.Forms; using System.Data.SqlClient; using System.Configuration;

namespace 家庭记账系统 {

public partial class Form1 : Form {

public Form1() {

InitializeComponent(); }

string Users, Pwd;//用户名,密码

bool flagshow = false;//用来标注登陆名是否存在于数据库

private void button1_Click(object sender, EventArgs e) {

string uname = this.textBox1.Text.ToString(); string password = this.textBox2.Text.ToString(); SqlConnection thisconnection = new SqlConnection(\家庭记账系统; User ID =sa; PWD =123\ thisconnection.Open();

SqlCommand thiscommand = thisconnection.CreateCommand(); thiscommand.CommandText = \ SqlDataReader Dr = thiscommand.ExecuteReader();

while (Dr.Read())//读取数据库信息 {

Users = Dr[\ Pwd = Dr[\

if (Users.Trim() == textBox1.Text && Pwd.Trim() == textBox2.Text)

{

flagshow = true;//用户名存在,则true } }

Dr.Close();

thisconnection.Close();

if (flagshow == true) {

this.Visible = false;//关闭登陆窗口

new Form2().Show();//用户存在,返回系统界面 } else {

MessageBox.Show(\用户名不存在或密码错误!\提示\ return; } }

private void Form1_Load(object sender, EventArgs e) {

}

} }

(修改密码)

private void button4_Click(object sender, EventArgs e)//修改密码功能,

首先,验证原密码 {

string uname = this.textBox1.Text.ToString(); string password = this.textBox2.Text.ToString(); SqlConnection thisconnection = new SqlConnection(\家庭记账系统; User ID =sa; PWD =123\ thisconnection.Open();

SqlCommand thiscommand = thisconnection.CreateCommand();

thiscommand.CommandText = \ SqlDataReader Dr = thiscommand.ExecuteReader(); while (Dr.Read())//读取数据库信息 {

Users = Dr[\ Pwd = Dr[\

if (Users.Trim() == textBox1.Text && Pwd.Trim() == textBox2.Text)

{

flagshow = true;//用户名存在,则true } }

Dr.Close();

thisconnection.Close();

if (flagshow == true)//当原用户名和密码都正确时,才能改用户名和密码

{

SqlConnection conn = new SqlConnection(\家庭记账系统; User ID =sa; PWD =123\ conn.Open();

SqlCommand cmd = new SqlCommand(); cmd.CommandText = \login set uname=@uname,password=@password \ cmd.Connection = conn;

cmd.Parameters.Add(\ cmd.Parameters.Add(\

cmd.Parameters[\ cmd.Parameters[\ cmd.ExecuteNonQuery(); conn.Close(); this.Close(); } else {

MessageBox.Show(\原用户名与密码不正确,不能修改密码!\提示\

return; } }

(初始化数据库)

if (MessageBox.Show(\你确定要初始化数据库?\\提示\MessageBoxButtons.YesNo) == DialogResult.Yes) {

SqlConnection conn = new SqlConnection(\家庭记账系统; User ID =sa; PWD =123\ conn.Open();

SqlCommand cmd = new SqlCommand();

cmd.CommandText = \账目表\ cmd.Connection = conn; cmd.ExecuteNonQuery(); conn.Close(); this.Close(); }

(添加收入记录)

if (textBox2.Text.Trim() == \ {

MessageBox.Show(\请输入完整信息!\\错误\MessageBoxButtons.OK, MessageBoxIcon.Error); } else {

SqlConnection conn = new SqlConnection(\家庭记账系统; User ID =sa; PWD =123\ conn.Open();

SqlCommand cmd = new SqlCommand();

cmd.CommandText = \账目表(日期,类型,金额,备注,记录员)values(@日期,@类型,@金额,@备注,@记录员)\ cmd.Connection = conn;

cmd.Parameters.Add(\日期\ cmd.Parameters.Add(\类型\ cmd.Parameters.Add(\金额\

cmd.Parameters.Add(\备注\ cmd.Parameters.Add(\记录员\

cmd.Parameters[\日期\ cmd.Parameters[\类型\ cmd.Parameters[\金额\ cmd.Parameters[\备注\

cmd.Parameters[\记录员\ cmd.ExecuteNonQuery(); conn.Close(); this.Close(); }

本文来源:https://www.bwwdw.com/article/jscw.html

Top