.net课程设计_第1页
.net课程设计_第2页
.net课程设计_第3页
.net课程设计_第4页
.net课程设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.net程序设计作业说明书姓 名: 学 号: 学 院:专 业: 指导教师: 2009年12月31日课程总结通过对Visual C#的学习,熟悉了Visual C#的环境,并能够创建用户界面以及使用一些传统和高级的控件,同时还学会了如何使用数据和连接数据库。在Visual C#中,使用工具箱来创建让用户能够与程序进行交互的界面,并在事件处理程序中编写代码,使程序可以执行一定的功能。这些是使用Visual C#开发应用程序的基本功能,甚至最复杂的程序也是使用这些基本方法创建的:创建界面,然后添加代码使程序可以执行。当然,编写正确的代码来实现所要求的功能是很复杂的。在Visual C#中有很多不同的设计窗口,我们首先要学习其中几个设计窗口,比如:如何使用“属性”窗口获取和设置属性,如何使用“解决方案管理器”管理项目,如何使用工具箱添加控件。这些技能是我们以后经常要用到的,对我们以后学习和使用Visual C#会很有帮助的。对于对象和事件。对象是将数据和功能封装在一起的编程结构,对象有属性,它们描述了对象的特征。有些属性可在设计时使用“属性”窗口进行设置,大部分属性也可用Visual C#代码在运行时设置。在Visual C#中有一个事件驱动的编程模型,事件的发生顺序并并没有预先确定;用户可以通过与程序交互来触发特定的事件(如单击按钮等),从而完全的控制要执行哪些代码。对于窗体和控件。使用窗体不仅仅是设置属性,窗体是动态的画布,我们可以在上面构建用户界面。没用控件,用户将不能与窗体进行交互。在Visual C#中我们学习了很多控件,比如,文本框控件,标签控件,button控件,image list控件,menu strip控件等。标签控件是用来显示静态文本(用户不能修改的文本),文本框控件用于显示可编辑的文本。Button控件用来触发事件,在button控件中可添加代码。Image list控件是一个很有用的控件,它使得在多个控件之间共享图像更容易。Menu strip控件用来为程序构建菜单,有了菜单栏工具栏能为应用程序提供很大便利。对于使用用户系统中的数据,我们可以通过使用OpenFileDialog控件和SaveFileDialog控件来打开以及保存用户系统中的文件。在使用数据库中,学习了两种数据库的连接:一种是OleDBConnection,用于建立到OLEDB数据源的连接;一种是SqlConnection,用于建立到SQL Server数据源的连接。在数据库连接中有三种常用的对象:DataSet,DataTable,DataAdapter。DataSet:数据在内存中的表示;,DataTable:存储数据结果集,用于操作和导航;,DataAdapter:用于填充DataSet。现在很多的应用程序都是用数据库,数据库的应用是很广泛的,想要成为一个优秀的编程人员要熟练掌握数据库编程。在代码调试过程阶段,对于两种基本错误:编译错误和运行错误(异常)。编译错误比较好解决,因为程序会准确告诉你哪一行有编译错误,而且通常会提供关于如何修正错误的有用信息。而异常错误如果处理不当的话,将使应用程序崩溃。这学期Visual C#的课程结束了,但Visual C#中有待我们学习的还很多很多,在以后的工作学习中还应该继续学习,不断完善自己。课程设计开发背景 目前,大学生对于自己的日常开销都没有进行记录的习惯,平常花钱都没有个度,不知道节约。这个程序就是实现个人对自己日常开销的记录,让人们清楚了解自己日常的开销方面,以实现节约。需求分析做一个个人账目管理的系统,实现对个人账目进行管理。该系统是单用户系统,输入密码后即可登录;进入主界面后可实现以下功能:1. 添加新账目(日期、收入、支出、备注);2. 按日期进行账目查询;3. 对账目进行修改;4. 计算总收入;5. 计算总支出;6. 计算总余额;7. 更改密码。详细设计登陆界面: 设计思路:输入密码,将输入密码与数据库中的密码进行比较。若正确则显示登陆成功对话框并转到主界面;若不一样则显示密码错误对话框并转到主界面。登陆界面程序流程图:开始进入登陆界面 输入密码显示密码错误对话框输入密码与真实密码比对显示成功登陆对话框进入主页面结束主界面: 设计思路:新建一Form页面,在Form页面中添加dataGridView控件以实现数据库中的数据显示,添加button,label,textbox,menustrip等控件以实现其他功能。各功能设计如下:1. 查询所有功能实现:连接至数据库,将数据库中的账目表的信息在dataGridView中显示;2. 查询某日期功能实现:连接并打开数据库中,在账目表中按照日期找出所要查找的数据,在dataGridView中显示;3. 修改功能实现:在dataGridView中写入要修改的数据,并将数据库中的账目表进行更新;4. 总收入功能实现:利用for循环语句,将收入列中的数据进行相加;5. 总支出功能实现:利用for循环语句,将支出列中的数据进行相加;6. 总余额功能实现:将总收入数据减去总支出数据;7. 菜单栏功能实现:菜单栏中添加两项:更改密码和退出。更改密码选项是打开更改密码页面;退出选项是关闭该页面。更改密码界面: 设计思路:将“新密码”项和“重新输入新密码”项进行比较,若相等,则提示密码更爱成功并将该新密码写入数据库的密码表中,若不相等,则提示密码改改失败。数据库设计: 新建一数据库,并在数据库中新建两个表:账目表和密码表。1. 账目表中添加四列(日期,收入,支出,备注),并将日期设为主键,在账目表中随意添加一些数据。2. 密码表中添加一列(mima),并设为主键,并输入一数据1234567,则1234567是登录时索要输入的密码。账目表截图:密码表截图: 编码测试登陆界面程序及窗体设计:登录窗体程序: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.OleDb;namespace WindowsFormsApplication1 public partial class Form1 : Form public Form1() InitializeComponent(); private OleDbDataAdapter sda; private DataSet ds = new DataSet(); private void button2_Click(object sender, EventArgs e) this.Close(); private void button1_Click(object sender, EventArgs e) /输入密码与数据库密码表中密码进行比较 OleDbConnection conn = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:个人账目管理1WindowsFormsApplication1WindowsFormsApplication1binDebug个人账目管理.mdb); string cmdstr = select * from 密码; OleDbCommand cmd = new OleDbCommand(cmdstr, conn); conn.Open(); OleDbDataReader dr = cmd.ExecuteReader(); string key = textBox1.Text; dr.Read(); string password = (string)drmima; if (key=password) MessageBox.Show(登陆成功); this.Hide(); Form2 form = new Form2(); form.Show(); else MessageBox.Show(密码错误); conn.Close(); 登录窗体截图: 主界面程序及窗体设计:主界面程序: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.OleDb;namespace WindowsFormsApplication1 public partial class Form2 : Form public Form2() InitializeComponent(); private OleDbDataAdapter sda; private DataSet ds = new DataSet(); private void 更改密码ToolStripMenuItem_Click(object sender, EventArgs e) /转到密码更改页面 Form3 form = new Form3(); form.Show(); private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) this.Close(); private void button1_Click(object sender, EventArgs e) /查询所有 OleDbConnection conn = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:个人账目管理1WindowsFormsApplication1WindowsFormsApplication1binDebug个人账目管理.mdb); string sql = Select * from 账目表; sda = new OleDbDataAdapter(sql, conn); ds = new DataSet(); OleDbCommandBuilder builder = new OleDbCommandBuilder(sda); sda.Fill(ds, 账目表); dataGridView1.DataSource = ds.Tables账目表; private void button6_Click(object sender, EventArgs e) /更改 sda.Update(ds, 账目表); private void button2_Click(object sender, EventArgs e) /按日期查询 OleDbConnection conn = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:个人账目管理1WindowsFormsApplication1WindowsFormsApplication1binDebug个人账目管理.mdb); conn.Open(); string sql = Select * from 账目表; string condition = textBox1.Text.Trim(); if (!condition.Equals() sql += where 日期 like % + condition + %; ds.Tables账目表.Clear(); sda.SelectCommand.CommandText = sql; sda.Fill(ds, 账目表); conn.Close(); private void button3_Click(object sender, EventArgs e) /计算总收入 int i; int shouru = 0; for (i = 0; i ds.Tables账目表.Rows.Count; i+) shouru += Convert.ToInt32(ds.Tables账目表.Rowsi收入); textBox2.Text = Convert.ToString(shouru); private void button4_Click(object sender, EventArgs e) /计算总支出 int i; int zhichu = 0; for (i = 0; i ds.Tables账目表.Rows.Count; i+) zhichu += Convert.ToInt32(ds.Tables账目表.Rowsi支出); textBox3.Text = Convert.ToString(zhichu); private void button5_Click(object sender, EventArgs e) /计算总余额 int yue; int shouru = 0; int zhichu = 0; int i; int j; for (i = 0; i ds.Tables账目表.Rows.Count; i+) shouru += Convert.ToInt32(ds.Tables账目表.Rowsi收入); for (j = 0; j ds.Tables账目表.Rows.Count; j+) zhichu += Convert.ToInt32(ds.Tables账目表.Rowsj支出); yue = shouru - zhichu; textBox4.Text = Convert.ToString(yue); 主界面截图: 更改密码界面程序及窗体设计:更改密码界面程序: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.OleDb;namespace WindowsFormsApplication1 public partial class Form3 : Form publ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论