c#班级通讯录管理系统实训报告

上传人:bei****lei 文档编号:198433524 上传时间:2023-04-08 格式:DOC 页数:21 大小:597.50KB
返回 下载 相关 举报
c#班级通讯录管理系统实训报告_第1页
第1页 / 共21页
c#班级通讯录管理系统实训报告_第2页
第2页 / 共21页
c#班级通讯录管理系统实训报告_第3页
第3页 / 共21页
点击查看更多>>
资源描述
C#应用程序设计实训报告系部: 信息工程系 班级: 12软件班 姓名: 陶沪 指导教师: 刘春友 实训时间: 2013年春季学期 班级通讯录管理系统实训报告一、实训主题班级通讯录系统的开发和运用二、实训时间: 2013年6月1日2013年6月27日三、实训目的教会学生利用Visul status 2005开发平台开发出班级通讯录系统,并利用.net Framework组件实际与数据库的连接,建立班级通讯录的显示,查询,添加,修改,删除四个功能块窗体,以及登录界面和主界面两个辅助窗体.最终实现班级通讯录系统增,删,改,查四项基本功能.四、实训内容与要求: “班级通讯录管理系统”是以班级学生的个人信息为主的管理系统,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。运用结构化开发方法,分析并开发一个小型、简单的“班级通讯录管理系统”。功能:设计一个班级通讯录管理系统,班级通讯录数据信息构成内容可自行设计(如班级、学号、姓名、性别、年龄、电话、邮政编码、邮箱等)。要求实现显示、查找、添加、删除、修改某个记录等功能。五、实训中的重要知识和方法ADO.NET概述:ADO.NET 提供诸如SQL Server 和XML这样的数据源以及通过OLE DB和ODBC公开的数据源的一致访问。ADO.NET包含于用于连接到数据库,执行命令和检索结果的.NET Framework 数据提供程序。这些结果或者被直接处理,放在ADO.NET DataSet对象中以便用特别的方式向用户开放,并与来自多个源的数据组合:或者在层之间传递。DataSet对象也可以独立于.NET Framework数据提供程序,用于管理应用程序本地的数据或源自XML的数据。ADO.NET用于访问和操作数据的两个主要组件是:.NET Framework数据提供程序和DataSet。.NET Framework数据提供程序用于连接到数据库,执行命令和检索结果。DataSet 可以用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据。DataSet包含一个或多个DataTable对象的集合,这些对象由数据行和数据列以及有关DataTable 对象中数据的主键,外键,约束和关系信息组成。六、实训步骤1. 总体结构图班级通讯录管理系统查找联系人添加联系人删除联系人修改联系人2. 流程图:登录判断用户名的有效性和合法性班级通讯录管理系统主界面查询联系人信息删除联系人信息添加联系人信息修改联系人信息否是3. 数据库设计字段名类型长度是否为空是否为主键说明userId文本10否是用户名userPwd文本10否否用户密码字段名类型长度是否为空是否为主键说明stuNo文本8否是学号stuName文本10否否姓名classId文本10是否班级Sex文本2否否性别birthday日期/时间10是否出生日期tel文本15是否电话address文本100是否家庭住址QQ文本6是否邮政编码email文本30是否电子邮箱remark文本是否备注七、实训代码数据库链接代码:using System;using System.Collections.Generic;using System.Text;using System.Data.OleDb;using System.Windows.Forms;using System.Data;namespace 班级通讯录管理系统 class DataAccess /定义连接字符串 private string strDSN; /定义数据库连接对象 OleDbConnection oledbCon; /数据库连接方法 public void dataCon() strDSN = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + Application.StartupPath.ToString() + class.mdb; oledbCon = new OleDbConnection(strDSN); /获取DataSet public DataSet getDataset(string sql) DataSet ds = new DataSet(); oledbCon.Open(); try OleDbCommand oledbCom = new OleDbCommand(sql, oledbCon); OleDbDataAdapter oledbDa = new OleDbDataAdapter(oledbCom); oledbDa.Fill(ds); return ds; catch (Exception ex) throw new Exception(ex.ToString(); finally oledbCon.Close(); /执行SQL语句 public bool sqlExec(string sql) try oledbCon.Open(); catch MessageBox.Show(数据库未连接); try OleDbCommand oledbCom = new OleDbCommand(sql, oledbCon); oledbCom.ExecuteNonQuery(); return true; catch (Exception ex) MessageBox.Show(ex.Message, 提示); return false; finally oledbCon.Close(); 登录界面:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace 班级通讯录管理系统 public partial class UsersLogin : Form public UsersLogin() InitializeComponent(); private void UsersLogin_Activated(object sender, EventArgs e) /将光标放在用户名文本框上 textBox1.Focus(); private void button1_Click(object sender, EventArgs e) string username, password; string strSql = ; DataSet ds; /判断文本框是否为空 if (textBox1 .Text .Trim () != & textBox2 .Text .Trim () != ) username = textBox1.Text.Trim(); password = textBox2.Text.Trim(); strSql = select * from userslogin where userId= + username + and userPwd= + password + ; /实例化类 DataAccess data = new DataAccess(); /连接数据库 data.dataCon(); /执行查询语句,获取Dataset ds = data.getDataset(strSql); /判断是否登录成功 if (ds.Tables0.Rows.Count = 1) Main fMain = new Main(); fMain.Show(); this.Hide(); else MessageBox.Show(用户名或密码错误!, 登录失败); private void button2_Click(object sender, EventArgs e) Application.Exit(); private void label2_Click(object sender, EventArgs e) 主界面:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 班级通讯录管理系统 public partial class Main : Form public Main() InitializeComponent(); private void Main_FormClosing(object sender, FormClosingEventArgs e) Application.Exit(); private void 添加联系人ToolStripMenuItem_Click(object sender, EventArgs e) AddLinkman frm2 = new AddLinkman(); frm2.Show(); private void 删除联系人ToolStripMenuItem_Click(object sender, EventArgs e) ManageLinkman frm4 = new ManageLinkman(); frm4.Show(); private void 显示全部联系人ToolStripMenuItem_Click(object sender, EventArgs e) AllLinkman frm1 = new AllLinkman(); frm1.Show(); private void 修改联系人ToolStripMenuItem_Click(object sender, EventArgs e) ManageLinkman frm3 = new ManageLinkman(); frm3.Show(); private void 查询联系人ToolStripMenuItem_Click(object sender, EventArgs e) ManageLinkman frm4 = new ManageLinkman(); frm4.Show(); private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); 查询窗体代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 班级通讯录管理系统 public partial class ManageLinkman : Form public ManageLinkman() InitializeComponent(); public static string stuNo; public static string StuNo get return stuNo; set stuNo = value; private void button1_Click(object sender, EventArgs e) string strSql; string conditon=; DataAccess data = new DataAccess(); DataSet ds; if (textBox1.Text != ) conditon += and stuNo= + textBox1.Text + ; if (textBox2.Text != ) conditon += and stuName= + textBox2.Text + ; if (textBox3.Text != ) conditon += and classId= + textBox3.Text + ; if (comboBox1.Text != ) conditon += and Sex= + comboBox1.Text + ; strSql = select stuNo as 学号,stuName as 姓名,Sex as 性别, birthday as 出生日期, classId as 班级, tel as 电话, address as 家庭地址,postalcode as 邮政编码,email as 电子邮箱, remark as 备注 from usersinfo where 1=1 + conditon; data.dataCon(); ds = data.getDataset(strSql); dataGridView1.DataSource = ds.Tables0; private void button2_Click(object sender, EventArgs e) string strSql; DataAccess data = new DataAccess(); strSql = delete from usersinfo where stuNo = + dataGridView1.CurrentRow.Cells0.Value.ToString() + ; data.dataCon(); if (data.sqlExec(strSql) MessageBox.Show(删除成功!); else MessageBox.Show(删除失败!); private void button3_Click(object sender, EventArgs e) ManageLinkman .StuNo = dataGridView1.CurrentRow.Cells0.Value.ToString(); EditLinkman s1 = new EditLinkman(); s1.Show(); 修改窗体代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 班级通讯录管理系统 public partial class EditLinkman : Form public EditLinkman() InitializeComponent(); private void button1_Click(object sender, EventArgs e) string strSql = ; if (textBox2 .Text != & textBox3 .Text != & textBox4 .Text != & textBox5 .Text != & textBox6 .Text != & textBox7 .Text !=& textBox8 .Text !=& textBox9 .Text != & comboBox1 .Text != ) strSql = update uesrsinfo set stuName = + textBox2.Text + ,Sex= + comboBox1.Text + ,birthday= + textBox4.Text + ,classId= + textBox3.Text + ,tel= + textBox5.Text + ,Address= + textBox8.Text + ,postalcode= + textBox6.Text + , email= + textBox7.Text + ,remark= + textBox9.Text + ,where stuNo = + ManageLinkman.stuNo + ; DataAccess data = new DataAccess(); data.dataCon(); if (data.sqlExec(strSql) MessageBox.Show(修改成功!); else MessageBox.Show(修改失败!); else MessageBox.Show(输入未完全!); private void EditLinkman_Load(object sender, EventArgs e) textBox1.Text = ManageLinkman.StuNo; private void button2_Click(object sender, EventArgs e) this.Close(); 添加窗体代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 班级通讯录管理系统 public partial class AddLinkman : Form public AddLinkman() InitializeComponent(); private void button1_Click(object sender, EventArgs e) string strSql; DataAccess data = new DataAccess(); strSql = insert into usersinfo(stuNo,stuName,classId,birthday,tel,postalcode,email,address,remark,Sex) values (+textBox1 .Text +,+textBox2 .Text +,+textBox3 .Text +,+textBox4 .Text +,+textBox5 .Text +,+textBox6 .Text +,+textBox7 .Text+ ,+textBox8 .Text+,+textBox9 .Text +,+comboBox1 .Text + ); data.dataCon(); if (data.sqlExec(strSql) MessageBox.Show(添加成功!); else MessageBox.Show(添加失败!); private void button2_Click(object sender, EventArgs e) this.Close(); 显示所有联系人窗体代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 班级通讯录管理系统 public partial class AllLinkman : Form public AllLinkman() InitializeComponent(); private void button1_Click(object sender, EventArgs e) string strSql; DataAccess data =new DataAccess (); DataSet ds; strSql = select * from usersinfo; data.dataCon(); ds = data.getDataset(strSql); dataGridView1.DataSource = ds.Tables0; 系统调试/系统测试 系统调试通过,运行正常。心得体会 通过本次实训我有的收获:对C#有了一个更深的了解认识,以前学的知识得到巩固,也尝试运行编程,每运行程序成功,让我对下面的题就充满信心。通过自己独立编写程序,我最终把最初的理论知识转化基本技能。这次的实训,使我对C#的学习产生浓厚的兴趣。这次实训中,使我认识到自己还有很多的知识没学好,基础知识没理清。自己也不能独立编程。遇到一些小错误运行不出来,就叫老师过来帮忙,觉得有依赖性,以后要克服,尽量自己多尝试完成,学好这门课。C#知识是有序的学习,没有零碎的感觉。增加了动手的时间,使动手能力得到了提高,编写C#程序和分析C#问题的能力提高了。进而提升我们的学习效率。参考文献C#程序设计与开发实训结果:上机实验是学习程序设计语言必不可少的实习环节,特别是c#灵活、简洁,更需要通过编程的实习来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。 通过上机实验来验证自己编制的程序是否正确,但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去掩盖程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c#的理解和程序开发能力。此次实训我按时完成了实训课题,通过实训有利于加强我对C#语言和.Net技术的应用能力,作品功能效果基本符合老师的要求,当然开发的过程并不是一帆风顺的,当我遇到一些难以解决的问题时,我就会主动去查找一些相关书籍或者求助于任课老师。虽然该系统还有不足之处,但是我会在以后的学习中不断加强和改进,尽力让该管理系统的功能更加完善。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!