搜档网
当前位置:搜档网 › 基于.net平台下的电话通讯录

基于.net平台下的电话通讯录

基于.net平台下的电话通讯录
基于.net平台下的电话通讯录

无锡商业职业技术学院

毕业设计

(2014届)

设计题目:

基于.net平台下的电话通讯录

系科物联网学院

专业软件技术

姓名

学号11437216

指导教师

完成日期:2013年 12 月

目录

前言 (2)

第1章 .net 技术简介 (3)

第2章 .Net开发环境配置 (4)

2.1 计算机系统硬件配置 (4)

2.2 软件需求 (4)

2.3 Visual Studio 2010 介绍 (4)

2.4 SQL Server 2008 简介 (4)

第3章系统设计 (5)

3.1 功能概要设计 (5)

3.2 数据库设计 (6)

第4章系统实 (8)

4.1 分组管理 (8)

4.2 数据库表创建修改 (13)

4.3 号码查询与删除 (14)

4.4 添加联系人 (16)

4.5 登陆界面 (20)

第5章结论 (22)

5.1 工作总结 (22)

参考文献 (23)

致谢 (24)

基于.net平台下的电话通讯录

摘要

通讯录软件是一款供交际范围广,业务较多的这类人群使用的软件,它可以储存用户的联系人信息,对联系人进行管理。该软件是一款单机程序,用户数据选用Access进行统一管理。通讯录(Corperation Messeger)是专门提供给企业经理等业务繁忙人士。由于是用户少数人使用,为了保证用户信息的安全性,所有用户的基本信息统一由该软件的程序进行管理

关键词:统一管理业务较多通讯录

前言

进入大学就开始学习C#,当时只是初步了解,在以后的学习中发现用它编写小程序很有意思,偶尔发现随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须经常与亲戚、朋友、同学、同事保持联系,但是有时候存在着许多的限制条件,比如怎样找到交流对象的各种信息?可能你会想到现实生活中的手机等通讯工具,由于这些工具的单一性,不可能在第一时间找到自己想要的信息资料,因此,为了能够快速查找到联系人的信息,节省查找时间,开发通讯录管理系统。

通过采用相关技术,以及老师的辅导和同学们的帮助,将系统设计的功能全部实现。功能包括:

1.添加号码

通过委托实现此窗体添加数据后父窗体的实时刷新

2.修改号码

2.1通过委托实现此窗体添加数据后父窗体的实时刷新

2.2通过委托实现父窗体点击DataGridView上数据实时显示到修改子窗体上。

3.多条件模糊查询

4.分组管理

4.1分组名相同不能添加

第一章 .net技术简介

.Net技术是微软2000年发表的新技术架构, 是为了适应Internet发展的需要所提供的特别适合网络编程和网络服务的平台。是继DOS应用平台、Windows应用平台之后的第三代应用平台,即互联网应用平台。利用.Net技术架构,既可以开发桌面应用,又可以开发Web 应用,还可以开发移动嵌入应用;既可以编码,又可以设计,还可以测试。.Net技术已迅速成为市场上主流的软件开发和运行平台。

.Net技术一改以前每一种语言都具有自己的函数库(类库)和开发环境的状态,提供了对符合.Net 规范的语言的统一的支持,对所有.Net程序设计语言提供统一的类库和开发环境,贯穿一致的开发理念和开发方法,每一种.Net 程序设计语言仅仅是语法不同而已。现在流行的.Net 语言有十几种,并且还在不断地增加。典型的.Net 语言有:Visual https://www.sodocs.net/doc/2a13125071.html,、Visual C#.Net 和Visual C++.Net 等。可以用来创建Windows平台下的Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件等。B/S架构的应用因为客户端的免安装而广受欢迎,而对于业务处理繁琐、客户交互复杂的应用系统,三层架构的瘦客户端模式则是更为适用的方式

第二章.Net开发环境配置

2.1计算机系统硬件配置

支持的操作系统: Windows Server 2003; Windows Vista; Windows XP

最低配置:1.6 GHz CPU

内存:384 MB

显示分辨率:1024x768

硬盘:5400 RPM

建议配置:

2.2 GHz 或更快的 CPU

1024 MB 或更大的内存

1280x1024 显示分辨率

7200 RPM 或更快的硬盘

2.2软件需求

操作系统:Microsoft Windows 7

安装软件:VS2010+SQL2008

2.3 Visual Studio 2010 介绍

Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持IBM DB2和Oracle 数据库。

2.4SQL Server 2008 简介

SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。这篇文章详细介绍了Microsoft SQL Server 2008中的新的特性、优点和功能…… 在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。

第三章系统设计3.1功能概要设计

系统结构图如下(图1)

图3-1

3.2数据库设计

详细设计如下:

3.2.1联系人名称属性如图3-2-1所示:

图3-2-1 3.2.2分组管理信息属性如图3-2-2:

图3-2-2 3.2.3联系人号码属性如图3-2-3:

图3-2-3

第四章系统实

本系统才用了C#窗体和SQL结合的结构开发了学生信息管理系统。

4.1分组管理

4.1.1模块说明

此模块用来分组管理联系人信息

4.1.2分组管理

public partial class FormPType : Form

{

public delegate void MainLoadGdv();

private MainLoadGdv mlg;

public FormPType(MainLoadGdv mlg1)

{

InitializeComponent();

this.mlg = mlg1; //将主界面的DataGridView和Combobox的Load方法传过来 }

///

/// 窗体加载,初始化数据

///

///

///

private void FormPType_Load(object sender, EventArgs e)

{

dgvPType.AutoGenerateColumns = false;

LoadDataGridView();

}

#region 给dgvPType空间加载数据

///

/// 给dgvPType空间加载数据

///

void LoadDataGridView()

{

PhoneNumTypeBLL bll = new PhoneNumTypeBLL();

dgvPType.DataSource = bll.GetAllPhoneNumType();

}

#endregion

#region 插入分组数据

///

/// 插入分组数据

///

///

///

private void btnInsert_Click(object sender, EventArgs e)

{

if (validateInput())

{

PhoneNumTypeBLL bll = new PhoneNumTypeBLL();

if (bll.AddPhoneNumType(txtPTypeName.Text.Trim()))

{

mlg(); //成功添加刷新主窗体的下拉列表和datagridView LoadDataGridView();

txtPTypeName.Text = "";

msgDiv1.MsgDivShow("添加成功", 1);

}

else

{

msgDiv1.MsgDivShow("分组名称不能相同", 1);

}

}

}

#endregion

#region 验证是否输入分组名

///

/// 验证是否输入分组名

///

///

private bool validateInput()

{

if (txtPTypeName.Text.Trim() == "")

{

msgDiv1.MsgDivShow("分组名称不能为空", 1);

return false;

}

return true;

}

#endregion

#region 关闭界面后,返回DialogResult值

///

/// 关闭界面后,返回DialogResult值

///

///

///

private void FormPType_FormClosed(object sender, FormClosedEventArgs e)

{

this.DialogResult = System.Windows.Forms.DialogResult.OK;

}

#endregion

#region 修改分组名

///

/// 修改分组名

///

///

///

private void btnUpdate_Click(object sender, EventArgs e)

{

if (CheckUpdateDel()) //验证是否选中行

{

if (validateInput())

{

PhoneNumType pnt = new PhoneNumType(); // 存要修改的类型ID和值

pnt.PtName = txtPTypeName.Text.Trim();

pnt.PtId = Convert.ToInt32(dgvPType.SelectedRows[0].Cells[0].Value); PhoneNumTypeBLL bll = new PhoneNumTypeBLL();

try

{

if (bll.UpdatePhoneNumType(pnt))

{

mlg(); //成功修改刷新主窗体的下拉列表和datagridView

LoadDataGridView(); //修改成功后刷新列表,并重置文本框

txtPTypeName.Text = "";

msgDiv1.MsgDivShow("修改成功", 1);

}

else

{

msgDiv1.MsgDivShow("修改失败", 1);

}

}

catch (Exception ex)

{

msgDiv1.MsgDivShow(ex.ToString(), 2); //发生异常则抛出

}

}

}

}

#endregion

#region 行接受焦点,将所选行的值放入到文本框中

///

/// 行接受焦点,将所选行的值放入到文本框中

///

///

///

private void dgvPType_RowEnter(object sender, DataGridViewCellEventArgs e)

{

if (dgvPType.SelectedRows.Count > 0)

{

txtPTypeName.Text = dgvPType.SelectedRows[0].Cells[1].Value.ToString(); }

}

#endregion

#region 删除操作

private void btnDel_Click(object sender, EventArgs e)

{

if (MessageBox.Show("确定删除吗?", "提示", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)

{

if (CheckUpdateDel())

{

PhoneNumTypeBLL bll = new PhoneNumTypeBLL();

if

(bll.DeletePhoneNumTypeByID(Convert.ToInt32(dgvPType.SelectedRows[0].Cells[0].Value)))

{

mlg(); //成功删除刷新主窗体的下拉列表和datagridView LoadDataGridView();

msgDiv1.MsgDivShow("删除成功", 1);

}

else

{

msgDiv1.MsgDivShow("删除失败", 1);

}

}

}

}

#endregion

#region 为修改和删除操作验证是否选中数据

///

/// 为修改和删除操作验证是否选中数据

///

///

private bool CheckUpdateDel()

{

if (dgvPType.SelectedRows.Count > 0)

{

return true;

}

else

{

msgDiv1.MsgDivShow("请选择要操作的数据", 1);

return false;

}

}

#endregion

4.2数据库表创建修改

4.2.1模块说明

此模块用是创建修改用户数据库信息

如图4-2-1-1:

4.3号码查询与删除

4.3.1模块说明

此模块用来查询全部联系人信息和根据个人需要查询单独联系人信息,并且可根据个人需求删除联系人

4.3.2联系人查询

如图4-1-2-1

图4-1-2-1

代码实现:

private void button1_Click(object sender, EventArgs e)

{

int pTypeId = Convert.ToInt32(cbbType.SelectedValue);

string pName = txtName.Text.Trim();

string pNum = txtNum.Text.Trim();

PhoneNumBLL bll = new PhoneNumBLL();

dgvNum.DataSource = bll.SearchPhoneNum(pTypeId, pName, pNum);

4.3.3联系人删除

如图4-1-3-1:

图4-1-3-1

代码实现:

private void btnDel_Click(object sender, EventArgs e)

{

if(MessageBox.Show("确定要删除这条数据吗?", "提示", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)

{

if (dgvNum.SelectedRows.Count > 0)

{

PhoneNumBLL bll = new PhoneNumBLL();

int pid = Convert.ToInt32(dgvNum.SelectedRows[0].Cells[0].Value);

if (bll.DelPhonNumById(pid))

{

LoadDataGridView();

msgDiv1.MsgDivShow("删除成功", 1);

}

else

{

msgDiv1.MsgDivShow("删除失败, 1);

}

}

else

{

msgDiv1.MsgDivShow("请选择要删除的数据", 1);

}

4.4添加联系人

4.4.1模块说明

此模块用是当用户联系人增加时来向数据库添加联系人信息的4.4.2添加

如图4-2-2-1:

图4-2-2-1

代码实现:

using System;

using System.Collections.Generic;

using https://www.sodocs.net/doc/2a13125071.html,ponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using PhoneNumMS.BLL;

using PhoneNumMS.Model;

namespace PhoneNumMS

{

public partial class FormAddUpdate : Form

{

public void SetForm(PhoneNum pn)

{

cbbType.SelectedValue = pn.PTypeId;

txtName.Text = pn.PName;

txtNum.Text = pn.PNum;

txtHomeNum.Text = pn.PHomeNum;

lblPID.Text = pn.PId.ToString();

}

public delegate void MainDGVLoad();

private MainDGVLoad mdv1;

public FormAddUpdate(MainDGVLoad mdv)

{

InitializeComponent();

this.mdv1 = mdv;

}

private void FormAddUpdate_Load(object sender, EventArgs e)

{

LoadComboBox();

}

///

///验证输入

///

///

bool validateInput()

{

if (txtName.Text.Trim() == "")

{

msgDiv1.MsgDivShow("名字不能为空", 1);

return false;

}

if (txtNum.Text.Trim() == "" && txtHomeNum.Text.Trim() == "") {

msgDiv1.MsgDivShow("手机号和家电不能同时为空", 1);

return false;

}

return true;

}

///

///加载下拉列表

///

void LoadComboBox()

{

PhoneNumTypeBLL bll = new PhoneNumTypeBLL();

List list = bll.GetAllPhoneNumType();

cbbType.DisplayMember = "PtName";

cbbType.ValueMember = "PtId";

cbbType.DataSource = list;

}

///

///添加号码

///

///

///

private void btnYes_Click(object sender, EventArgs e)

{

if (validateInput())

{

PhoneNum pn = new PhoneNum();

pn.PName = txtName.Text.Trim();

pn.PNum = txtNum.Text.Trim();

pn.PTypeId = Convert.ToInt32(cbbType.SelectedValue); pn.PHomeNum = txtHomeNum.Text.Trim();

PhoneNumBLL bll = new PhoneNumBLL();

bool result = false;

if (lblPID.Text.Trim() == "")

{

result = bll.AddPhoneNum(pn);

}

else

{

pn.PId = Convert.ToInt32(lblPID.Text.Trim());

result = bll.UpdatePhoneNum(pn);

}

if (result)

{

mdv1(); //调用委托方法刷新父窗体的DataGridView msgDiv1.MsgDivShow("操作成功", 1);

}

else

相关主题