一个简单的通讯录管理系统,适合毕业设计。

主要实现以下功能

1.系统登录

2.增加联系人

3.修改和删除联系人

4.查找联系人

5.系统用户管理

首先先搭建数据库。

我这边使用的版本是sqlserver2014

创建两个表一个是用户表。另外一个是联系人表

用户表包含了用户名,用户密码,联系人最大值,组别最大值代码如下

CREATE TABLE Users
(
UserName VARCHAR(50),--用户名
Password VARCHAR(50),--用户密码
ContactMax INT,
GroupMax INT
)

然后创建联系人表格包含了基本的信息,其中id的PRIMARY KEY设置为主键,IDENTITY(1,1)设置为自动增长,代码如下

CREATE TABLE Contacts
(
Id INT PRIMARY KEY IDENTITY(1,1),
UserName VARCHAR(50),
Groups VARCHAR(50),
Name VARCHAR(50),
WorkUnit VARCHAR(200),
Phone VARCHAR(200),
Email VARCHAR(200),
Photo IMAGE
)

还需要插入一条管理员账号。这样子就可以使用这个账号进行登录

INSERT INTO dbo.Users
( UserName ,
Password ,
ContactMax ,
GroupMax
)
VALUES ( 'admin' , -- UserName - varchar(50)
'' , -- Password - varchar(50)
10, -- ContactMax - int
10 -- GroupMax - int
)

好了数据库就已经搭建好了那么就可以开始编写程序呢

编写winfrom代码

1.创建一个登录界面frmLogin和一个主界面frmMain

2.创建一个数据库帮助类Sqlhelp用来实现数据库操作代码如下

public static class SqlHelp
{
static string sqlconn = "server=.;DataBase=addressbook;Integrated Security =true;enlist=false";
/// <summary>
/// 根据sql语句获得数据库第一行第一列
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static object ExecuteScalar(string sql)
{
SqlConnection conn = new SqlConnection(sqlconn);
SqlCommand cmd = new SqlCommand(sql,conn);
conn.Open();
object o = cmd.ExecuteScalar();
conn.Close();
return o;
}
/// <summary>
/// 根据sql语句返回受影响的行数
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static int ExecuteNonQuery(string sql)
{
SqlConnection conn = new SqlConnection(sqlconn);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
int o = cmd.ExecuteNonQuery();
conn.Close();
return o;
}
/// <summary>
/// 根据sql语句返回受影响的行数
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataTable GetDataTable(string sql)
{
SqlConnection conn = new SqlConnection(sqlconn);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
conn.Close();
return dt;
}
}

3.在创建好的登录窗口上拖放控件实现用户名和密码以及登录按钮

点击登录按钮的时候执行sql语句查询账号和密码是否正确

/// <summary>
/// 登录按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
if (txtUser.Text == "")
{
MessageBox.Show("请输入用户名");
}
else
{
//判断账号和密码是否正确
string sql = "select count(1) from Users where UserName='" + txtUser.Text + "' and PassWord='" + txtPwd.Text + "'";
if (Convert.ToInt32(SqlHelp.ExecuteScalar(sql)) > 0)
{
frmMain.User = txtUser.Text;
this.DialogResult = DialogResult.OK;
}
else
{
MessageBox.Show("用户名或者密码错误");
}
}
}

this.DialogResult=DialogResult.OK是将登录窗体的返回值定义为OK

返回成功之后那么就要打开主界面了。

4.修改Program类实现登录成功打开主窗体

 /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
frmLogin frm = new frmLogin();
frm.ShowDialog();
if (frm.DialogResult == DialogResult.OK)
{
Application.Run(new frmMain());
}
}

5.在主界面上增加菜单栏。以及两个listview

c#winfrom通讯录管理系统的更多相关文章

  1. iOS学习之Object-C语言简单的通讯录管理系统

    用这几天学的OC的知识,写了一个实现简单功能的通讯录管理系统,在这里分享给大家: 通讯录管理系统 *  需求: 1.定义联系人类Contact.实例变量:姓名(拼音,首字母大写).性别.电话号码.住址 ...

  2. c语言实现通讯录管理系统(c课程设计)

    工具:Visual C++6.0 说明: 本系统基于C语言实现班级通讯录管理系统,为大一时学习C语言刚入门所做的课程设计.功能包括增.删.查.改等,非常适合初学者练手.通讯录包括的个人信息有姓名.学号 ...

  3. c++实现通讯录管理系统(控制台版)

    c++实现通讯录管理系统(控制台版) 此项目适合c++初学者,针对c++基础知识,涉及到变量.结构体定义使用.数组定义使用.指针定义使用等. 运行之后的结果如下: 代码: #include <i ...

  4. C++入门-控制台版的通讯录管理系统

    通讯录管理系统 1.系统需求 通讯录是一个可以记录亲人.好友信息的工具. 本教程主要利用C++来实现一个通讯录管理系统 系统中需要实现的功能如下: 添加联系人:向通讯录中添加新人,信息包括(姓名.性别 ...

  5. C++课程设计 通讯录管理系统 原码及解析

    设计题目:通信录管理系统 用C++设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理. (一)功能要求 查看功能:选择此功能时,列出下列三类选择. A 办公类B 个人类C 商务类,当选中某类时 ...

  6. C++通讯录管理系统(添加联系人,显示联系人,删除联系人,查找联系人,修改联系人,清空联系人,退出通讯录)

    1 /** 2 * ProjectNmae:通讯录管理系统 3 * 功能: 4 * 添加联系人:向通讯录添加新人 5 * 显示联系人:显示通讯录中的所有联系人信息 6 * 删除联系人:按照姓名进行删除 ...

  7. c++—通讯录管理系统

    一.运用所学的结构体.地址指针等基础知识,完成通讯录管理系统 二.系统主要有以下6个功能: 1.添加联系人2.显示联系人 3.删除联系人 4.查找联系人5.修改联系人 6.清空联系人 1 #inclu ...

  8. C语言通讯录管理系统

    本文转载自:http://blog.csdn.net/hackbuteer1/article/details/6573488 实现了通讯录的录入信息.保存信息.插入.删除.排序.查找.单个显示等功能. ...

  9. 通讯录管理系统(C语言)

    /* * 对通讯录进行插入.删除.排序.查找.单个显示功能 */ #include <stdio.h> #include <malloc.h> #include <str ...

  10. c++实例之通讯录管理系统之清空联系人功能(七)

    #include<iostream> using namespace std; constexpr auto MAX = ; //联系人结构体 struct Person { string ...

随机推荐

  1. 快Key:按一下鼠标【滚轮】,帮你自动填写用户名密码,快速登录,可制作U盘随身(开源免费-附安装文件和源代码)

    * 代码以本文所附下载文件包为准,安装文件和源文件包均在本文尾部可下载. * 快Key及本文所有内容仅供交流使用,使用者责任自负,由快Key对使用者及其相关人员或组织造成的任何损失均由使用者自负,与本 ...

  2. 萌新码农的第一篇:MarkDown的使用方法

    MarkDown的使用方法 使用的编辑软件Typora 1.标题的使用方法 输入''#''然后空格,输入标题名字即可生成标题. 随着''#''的增多,标题的大小会依次减小,最多到六级标题 2.排字 字 ...

  3. 100个Linux Shell脚本经典案例(附PDF)

    转载自:https://mp.weixin.qq.com/s/tCKAM67_7K7q2vJthaIsDQ 原文链接:https://wenku.baidu.com/view/4f089430a116 ...

  4. 在Kuboard上安装 Ingress Controller

    快速安装 # 只在 master 节点执行 kubectl apply -f https://kuboard.cn/install-script/v1.18.x/nginx-ingress.yaml ...

  5. 「国产系统」Tubian 0.2,兼容Windows和Android的GNU/Linux系统!

    0.3版已发布:https://www.cnblogs.com/tubentubentu/p/16733005.html Sourceforge.net主页(提供下载):https://sourcef ...

  6. 在Linux/redhat中安装amazon-ssm-agent及注意事项

    操作系统:Red Hat Enterprise Linux Server release 7.9 (Maipo) 首先说明一下SSM是什么.引用官网的说明: AWS Systems Manager A ...

  7. 聊聊Linux中CPU上下文切换

    目录 什么是CPU上下文 CPU上下文切换 上一任务的CPU上下文保存在哪? 进程上下文切换 内核空间和用户空间 top命令查看CPU资源 系统调用 进程上下文切换 和 系统调用的区别? 进程切换的常 ...

  8. 追求性能极致:Redis6.0的多线程模型

    Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5: ...

  9. 知识图谱实体对齐2:基于GNN嵌入的方法

    知识图谱实体对齐2:基于GNN嵌入的方法 1 导引 我们在上一篇博客<知识图谱实体对齐1:基于平移(translation)嵌入的方法>中介绍了如何对基于平移嵌入+对齐损失来完成知识图谱中 ...

  10. Dubbo2.7详解

    Spring与Dubbo整合原理与源码分析 [1]注解@EnableDubbo @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTI ...