1、c sharp 班级通讯录管理系统实训报告c sharp 班级通讯录管理系统实训报告C#应用程序设计 实 训 报 告 系部: 信息工程系 班级: 12软件班 姓名: 陶沪 指导教师: 刘春友 实训时间: 2013年春季学期 班级通讯录管理系统实训报告 一、实训主题 班级通讯录系统的开发和运用 二、实训时间: 2013年6月1日,2013年6月27日 三、实训目的 教会学生利用Visul status 2005开发平台开发出班级通讯录系统,并利用.net Framework组件实际与数据库的连接,建立班级通讯录的显示,查询,添加,修改,删除四个功能块窗体,以及登录界面和主界面两个辅助窗体.最终实
2、现班级通讯录系统增,删,改,查四项基本功能. 四、实训内容与要求: “班级通讯录管理系统”是以班级学生的个人信息为主的管理系统,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。运用结构化开发方法,分析并开发一个小型、简单的“班级通讯录管理系统”。功能:设计一个班级通讯录管理系统,班级通讯录数据信息构成内容可自行设计(如班级、学号、姓名、性别、年龄、电话、邮政编码、邮箱等)。要求实现显示、查找、添加、删除、修改某个记录等功能。 五、实训中的重要知识和方法 ADO.NET概述:ADO.NET 提供诸如SQL Server 和XML这样的数据源以及通过OLE DB和ODBC公开
3、的数据源的一致访问。ADO.NET包含于用于连接到数据库,执行命令和检索结果的.NET Framework 数据提供程序。这些结果或者被直接处理,放在ADO.NET DataSet对象中以便用特别的方式向用户开放,并与来自多个源的数据组合:或者在层之间传递。DataSet对象也可以独立于.NET Framework数据提供程序,用于管理应用程序本地的数据或源自XML的数据。 ADO.NET用于访问和操作数据的两个主要组件是:.NET Framework数据提供程序和DataSet。 .NET Framework数据提供程序用于连接到数据库,执行命令和检索结果。 DataSet 可以用于多种不同
4、的数据源,用于XML数据,或用于管理应用程序本地的数据。DataSet包含一个或多个DataTable对象的集合,这些对象由数据行和数据列以及有关DataTable 对象中数据的主键,外键,约束和关系信息组成。 六、实训步骤 1. 总体结构图 班级通讯录管理系统 删除联系人 修改联系人 查找联系人 添加联系人 2. 流程图: 登录 否 判断用户名的有效性和合法性 是 班级通讯录管理系统主界面 查 删添修询 除 加 改 联 联 联 联 系 系 系 系 人 人 人 人 信 信 信 信 息 息 息 息 3. 数据库设计 字段名 类型 长度 是否为空 是否为主说明 键 userId 文本 10 否 是
5、 用户名 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.Collec
6、tions.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= +
7、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)
8、; 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(); retur
9、n 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; na
10、mespace 班级通讯录管理系统 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 = ; DataSe
11、t 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(); /
12、执行查询语句,获取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, EventA
13、rgs 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(obj
14、ect 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();
15、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 sende
16、r, 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.T
17、ext; 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 strSq
18、l; 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 != ) condi
19、ton += 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.DataSo
20、urce = 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 Messag
21、eBox.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; usin
22、g 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
23、 != & 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= +
24、 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(输入未完全);
25、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 Syst
26、em.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,bi
27、rthday,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(添加成功
28、); 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(str
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1