C#结合数据库开发通讯录管理系统
通讯录管理系统,数据库关系模式为:账户(账户名,登录密码,头像),联系人(ID,姓名,电话,QQ,Email)。主要功能包括:注册,登录,注销账号,修改账户名以及密码,更换头像,以及对联系人的增删改查。
工具:Visual Studio 2015,sql server2014
数据库关系表:
Account: Contact:
VS中主要界面及代码:
登录主界面:Login
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;namespace Contact_Manage
{/// <summary>/// 登录/// </summary>public partial class Login : Form{//存取用户登录名public static String txtLogin_Username;public Login(){InitializeComponent();}//登录private void btt_Login_Click(object sender, EventArgs e){//获取用户输入的用户名和密码txtLogin_Username = tB_Account_Username.Text;String password = tB_Account_Password.Text;if (txtLogin_Username == "" || password == ""){MessageBox.Show("请输入用户名和密码!");return;}//连接数据库进行数据判断string sqlcon = "server=.;database=phone_Book;uid=sa;pwd=666888";String sqlcom = " select * from Account where Account_Username='" + txtLogin_Username + "' and Account_password='" + password + "'";SqlConnection con = new SqlConnection(sqlcon);SqlCommand com = new SqlCommand(sqlcom, con);con.Open();SqlDataReader reader = com.ExecuteReader();if (reader.Read()){//打开菜单页面Menu menu = new Menu();menu.Show();}else{MessageBox.Show("用户名或密码错误,请重新输入!");}con.Close();//清空文本框foreach (Control item in this.Controls){if (item is TextBox){item.Text = "";}}}//注册账号事件private void lb_Regist_Click(object sender, EventArgs e){Regist rigist = new Regist();rigist.Show();}//注销账户事件private void lb_Logout_Click(object sender, EventArgs e){//跳出注销界面,验证输入的用户名及密码是否正确Logout logout = new Logout();logout.Show();}//点击密码文本框时将登录头像显示在pictureBox控件中private void tB_Account_Password_MouseClick(object sender, MouseEventArgs e){//获取输入的用户名String username = tB_Account_Username.Text;if (username != ""){//连接数据库,如果该用户名存在则将头像显示string sqlcon = "server=.;database=phone_Book;uid=sa;pwd=666888";String sqlcom = " select * from Account where Account_Username='" + username + "'";SqlConnection con = new SqlConnection(sqlcon);SqlCommand com = new SqlCommand(sqlcom, con);con.Open();SqlDataReader reader = com.ExecuteReader();if (reader.Read()){reader.Close();//连接数据库,获取该用户名的头像保存路径//连接数据库string sqlcon2 = "server=.;database=phone_Book;uid=sa;pwd=666888";String sqlcom2 = "select Account_Image from Account where Account_Username='" + username + "'";SqlConnection con2 = new SqlConnection(sqlcon2);SqlCommand com2 = new SqlCommand(sqlcom2, con2);con2.Open();//返回结果集的第一行第一列object obj = com2.ExecuteScalar();//将数据库中读取到的路径放入变量中String image_Path = obj.ToString();con2.Close();pctrB_Image.Image = Image.FromFile(image_Path);//将图片居中显示pctrB_Image.SizeMode = PictureBoxSizeMode.StretchImage;}else{MessageBox.Show("用户名不存在,请重新输入!");}con.Close();}}}
}
注册窗体(登录界面中点击注册事件时将跳转到此窗体):Regist
此处更换头像利用了openFileDialog控件打开系统文件会话框,选择图片之后显示在pictureBox控件中,数据库中存放了图片所在的路径,图片的路径可以利用openFileDialog对象.FileName.ToString()获得,点击注册按钮将所有注册信息加入数据库中。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;namespace Contact_Manage
{public partial class Regist : Form{//默认头像路径public static String imagePath = "F:/VS设计/Contact_Manage/images/1.jpeg";public Regist(){InitializeComponent();}private void btt_Regist_Click(object sender, EventArgs e){//获取用户注册输入的用户名和密码String regist_Username = tB_Regist_Username.Text;String regist_Password1 = tB_Regist_Password1.Text;string regist_Password2 = tB_Regist_Password2.Text;//判断是否输入了用户名和密码if (regist_Username == "" || regist_Password1 == "" || regist_Password2 == ""){MessageBox.Show("请输入用户名和密码!");return;}//判断两次输入的密码是否一致if (!regist_Password1.Equals(regist_Password2)){MessageBox.Show("两次输入的密码不一致,请重新输入!");return;}//连接数据库,判断用户名是否已存在string sqlcon = "server=.;database=phone_Book;uid=sa;pwd=666888";String sqlcom = " select * from Account where Account_Username='" + regist_Username + "'";SqlConnection con = new SqlConnection(sqlcon);SqlCommand com = new SqlCommand(sqlcom, con);con.Open();SqlDataReader reader = com.ExecuteReader();if (reader.Read()){MessageBox.Show("用户名已存在,请重新输入用户名!");return;}reader.Close();//验证通过,将用户输入的数据添加进入数据库String sqlcom2 = " insert into Account(Account_Username,Account_Password,Account_Image) values('" + regist_Username + "','" + regist_Password1 + "','"+imagePath+"')";SqlCommand com2 = new SqlCommand(sqlcom2, con);int eq=com2.ExecuteNonQuery();if(eq!=0){MessageBox.Show("注册成功!将跳转到登录页面!");this.Close();}con.Close();}//当点击用户名文本框时给pictureBox中放置一张默认的图片private void tB_Regist_Username_MouseClick(object sender, MouseEventArgs e){//如果pictureBox为空时显示默认图片if (pctrB_Regist_Image.Image == null){String imagePath = "F:/VS设计/Contact_Manage/images/1.jpeg";pctrB_Regist_Image.Image = Image.FromFile(imagePath);pctrB_Regist_Image.SizeMode = PictureBoxSizeMode.StretchImage;}}private void btt_ChangeImage_Click(object sender, EventArgs e){//自定义OpenFileDialog打开Windows文件对话框选择文件,并保存路径OpenFileDialog f = new OpenFileDialog();f.InitialDirectory = Application.StartupPath + @"\images";f.Filter = "All files (*.*)|*.*|txt files (*.txt)|*.txt";f.FilterIndex = 1;f.RestoreDirectory = true;if (f.ShowDialog() == DialogResult.OK){imagePath = f.FileName.ToString();//将更换的图片显示在注册页面pctrB_Regist_Image.Image = Image.FromFile(imagePath);//将图片居中显示pctrB_Regist_Image.SizeMode = PictureBoxSizeMode.StretchImage;}return;}}
}
注销账号(在登录界面的注销事件中实例化此窗体):Logout
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;namespace Contact_Manage
{/// <summary>/// 注销用户界面/// </summary>public partial class Logout : Form{//注销账号名public static string txtLogoutName;public Logout(){InitializeComponent();}private void btt_Logout_Click(object sender, EventArgs e){//获取用户输入的将要注销的用户名及密码String logout_Username = tB_Logout_Username.Text;String logout_Password = tB_Logout_Password.Text;//判断是否输入了用户名及密码if (logout_Username == "" || logout_Password == ""){MessageBox.Show("请输入要注销的用户名和密码!");return;}//连接数据库进行数据验证String sqlcon = "server=.;database=phone_Book;uid=sa;pwd=666888;";String sqlcom = "select * from Account where Account_Username='"+logout_Username+"' and Account_Password='"+logout_Password+"'";SqlConnection con = new SqlConnection(sqlcon);SqlCommand com = new SqlCommand(sqlcom,con);con.Open();SqlDataReader reader= com.ExecuteReader();if (reader.Read()){//如果密码以及用户名正确,提示用户是否确认注销,确定之后将该用户从数据库中删除txtLogoutName= tB_Logout_Username.Text;Affirm affirm = new Affirm();affirm.Show();}else { MessageBox.Show("你输入的用户名或密码不正确,请重新输入!"); }//清空所有文本框foreach (Control item in this.Controls){if (item is TextBox){item.Text = "";}}con.Close();}}
}
菜单:Menu
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace Contact_Manage
{public partial class Menu : Form{public Menu(){InitializeComponent();}private void btt_Add_Contact_Click(object sender, EventArgs e){AddContact add = new AddContact();add.Show();}private void btt_Manage_Contact_Click(object sender, EventArgs e){Contact_Manage query= new Contact_Manage();query.Show();}//修改密码private void btt_Modification_Password_Click(object sender, EventArgs e){Modification_Password modif_Pwd = new Modification_Password();modif_Pwd.Show();}//更换头像private void btt_Change_Image_Click(object sender, EventArgs e){Change_Image cImg = new Change_Image();cImg.Show();}//修改账户名private void btt_Mdfct_Username_Click(object sender, EventArgs e){Mdfct_Acct_Username m = new Mdfct_Acct_Username();m.Show();}}
}
添加联系人:AddContact
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;namespace Contact_Manage
{/// <summary>/// 添加联系人/// </summary>public partial class AddContact : Form{public AddContact(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){//判断是否有必填项目未输入的情况if (tB_Name.Text.Length == 0 && tB_Phone.Text.Length == 0){MessageBox.Show("姓名电话必须填写!");return;}string sqlcon = "server=.;database=phone_Book;uid=sa;pwd=666888";string sqlcom = "INSERT INTO Contact (Contact_Name,Contact_QQ,Contact_Phone,Contact_Email,Account_Username) VALUES('"+ tB_Name.Text + "','" + tB_QQ.Text + "','" + tB_Phone.Text + "','" + tB_Email.Text + "','"+Login.txtLogin_Username+"')";//执行添加操作SqlConnection con = new SqlConnection(sqlcon);SqlCommand com = new SqlCommand(sqlcom, con);con.Open();int eq = com.ExecuteNonQuery();if (eq != 0){MessageBox.Show("添加成功!");}con.Close();//清空所有文本框foreach (Control item in this.Controls){if (item is TextBox){item.Text = "";}}}}
}
修改密码:Modification_Password
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;namespace Contact_Manage
{//修改密码public partial class Modification_Password : Form{public Modification_Password(){InitializeComponent();}//修改密码事件private void btt_Modification_Password_Click(object sender, EventArgs e){//获取当前登录用户的登录名String modification_Username = Login.txtLogin_Username;//获取用户输入的登录密码以及两次新密码String login_Pwd = tB_Modif_Password.Text;String modif_NewPwd1 = tB_Modif_NewPassword.Text;String modif_NewPwd2 = tB_Modif_NewPassword2.Text;//判断是否输入了原密码if (login_Pwd == ""){MessageBox.Show("请输入密码!");return;}//连接数据库验证原密码是否正确String sqlcon = "server=.;database=phone_Book;uid=sa;pwd=666888;";String sqlcom = "select * from Account where Account_Password='"+login_Pwd+"'";SqlConnection con = new SqlConnection(sqlcon);SqlCommand com = new SqlCommand(sqlcom,con);con.Open();SqlDataReader reader= com.ExecuteReader();if (!reader.Read()){MessageBox.Show("原登录密码错误,请重新输入!");return;}con.Close();//判断用户是否输入了新密码if (modif_NewPwd1 == "" || modif_NewPwd2 == ""){MessageBox.Show("请输入新密码!");return;}//判断两次输入的新密码是否一致if (!modif_NewPwd1.Equals(modif_NewPwd2)){MessageBox.Show("你两次输入的新密码不一致,请重新输入!");return;}//验证通过,进行修改密码操作String sqlcom2 = "update Account set Account_Password='"+modif_NewPwd1+"' where Account_Username='"+modification_Username+"'";SqlConnection con2 = new SqlConnection(sqlcon);SqlCommand com2 = new SqlCommand(sqlcom2, con2);con2.Open();int eq=com2.ExecuteNonQuery();if (eq != 0){MessageBox.Show("修改密码成功思密达!");this.Close();}else MessageBox.Show("修改密码失败思密达!");con2.Close();}//当点击这个文本框时,将用户名显示private void tB_Modif_Password_MouseClick(object sender, MouseEventArgs e){//获取当前登录用户的登录名String modification_Username = Login.txtLogin_Username;tB_Modif_Username.Text = modification_Username;}//当点击这个文本框时,也将用户名显示private void tB_Modif_Username_MouseClick(object sender, MouseEventArgs e){//获取当前登录用户的登录名String modification_Username = Login.txtLogin_Username;tB_Modif_Username.Text = modification_Username;}}
}
更换头像:Change_Image
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;namespace Contact_Manage
{public partial class Change_Image : Form{public Change_Image(){InitializeComponent();}private void btt_Select_Image_Click(object sender, EventArgs e){//自定义OpenFileDialog打开Windows文件对话框选择文件,并保存路径OpenFileDialog f = new OpenFileDialog();f.InitialDirectory = Application.StartupPath + @"\images";f.Filter = "All files (*.*)|*.*|txt files (*.txt)|*.txt";f.FilterIndex = 1;f.RestoreDirectory = true;if (f.ShowDialog() == DialogResult.OK){Regist.imagePath = f.FileName.ToString();//将更换的图片显示在注册页面pictrB_Image.Image = Image.FromFile(Regist.imagePath);//将图片居中显示pictrB_Image.SizeMode = PictureBoxSizeMode.StretchImage;}return;}private void btt_Change_Image_Click(object sender, EventArgs e){if (pictrB_Image.Image != null){string sqlcon = "server=.;database=phone_Book;uid=sa;pwd=666888";String sqlcom2 = "update Account set Account_Image='" + Regist.imagePath + "' where Account_Username='" + Login.txtLogin_Username + "'";SqlConnection con = new SqlConnection(sqlcon);SqlCommand com2 = new SqlCommand(sqlcom2, con);con.Open();int eq = com2.ExecuteNonQuery();if (eq != 0){MessageBox.Show("头像更换成功!");this.Close();}else MessageBox.Show("头像更换失败!");con.Close();}else MessageBox.Show("请选择图片!");}}
}
修改账户名:Mdfct_Acct_Username
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;namespace Contact_Manage
{public partial class Mdfct_Acct_Username : Form{public Mdfct_Acct_Username(){InitializeComponent();}//点击此文本框时跳出当前登录名private void tB_Username_MouseClick(object sender, MouseEventArgs e){tB_Username.Text = Login.txtLogin_Username;}//点击此文本框时跳出当前登录名private void tB_NewUsername_MouseClick(object sender, MouseEventArgs e){tB_Username.Text = Login.txtLogin_Username;}private void btt_Modfct_Username_Click(object sender, EventArgs e){//获取用户输入的新用户名String newUsername = tB_NewUsername.Text;if (newUsername == ""){MessageBox.Show("请输入新用户名!");return;}//连接数据库更改用户名String sqlcon = "server=.;database=phone_Book;uid=sa;pwd=666888;";String sqlcom = "update Account set Account_Username='"+newUsername+"' where Account_Username='"+Login.txtLogin_Username+"'";SqlConnection con = new SqlConnection(sqlcon);SqlCommand com = new SqlCommand(sqlcom, con);con.Open();int eq=com.ExecuteNonQuery();if (eq != 0){MessageBox.Show("修改成功!");this.Close();Login.txtLogin_Username = newUsername;}else MessageBox.Show("修改失败!");}}
}
联系人管理:Contact_Manage
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Configuration;namespace Contact_Manage
{public partial class Contact_Manage : Form{//数据库连接字符串string sqlcon = "server=.;database=phone_Book;uid=sa;pwd=666888";public Contact_Manage(){InitializeComponent();}//查询事件private void button1_Click(object sender, EventArgs e){string condition = " 1=1";//姓名if (tB_Name.Text != "")condition = condition + " and Contact_Name like'" + tB_Name.Text + "%'";//电话if (tB_Phone.Text != "")condition = condition + " and Contact_Phone like'" + tB_Phone.Text + "%'";//QQif (tB_QQ.Text != "")condition = condition + " and Contact_QQ like'" + tB_QQ.Text + "%'";//Emailif (tB_Email.Text != "")condition = condition + " and Contact_Email like'" + tB_Email.Text + "%'";//IDif (tB_ID.Text != ""){condition = condition + " and Contact_ID='" + tB_ID.Text + "'";}string sqlcom = "select * from Contact where" + condition;SqlConnection con = new SqlConnection(sqlcon);con.Open();SqlDataAdapter adapter = new SqlDataAdapter(sqlcom, con);//设置默认列不显示//dataGridView1.AutoGenerateColumns = false;DataSet ds = new DataSet();adapter.Fill(ds,"cs");dataGridView1.DataSource = ds.Tables["cs"];//绑定con.Close();//清空所有文本框foreach (Control item in this.Controls){if (item is TextBox){item.Text = "";}}//显示用户名lb_Username.Text = Login.txtLogin_Username;String sqlcom2 = "select Account_Image from Account where Account_Username='" + Login.txtLogin_Username + "'";SqlConnection con2 = new SqlConnection(sqlcon);SqlCommand com2 = new SqlCommand(sqlcom2, con2);con2.Open();//返回结果集的第一行第一列object obj = com2.ExecuteScalar();//将数据库中读取到的路径放入变量中String image_Path = obj.ToString();con2.Close();pctrB_Image.Image = Image.FromFile(image_Path);//将图片居中显示pctrB_Image.SizeMode = PictureBoxSizeMode.StretchImage;}//修改事件private void btt_Modification_Click(object sender, EventArgs e){//获取用户输入的要修改的联系人IDString modification_ID = tB_ID.Text;//如果文本框为空,则说明用户没有点击联系人if (modification_ID != ""){String condition = "";//姓名/* if (tB_Name.Text != "")condition = condition + ",Contact_Name='" + tB_Name.Text + "'";*///电话if (tB_Phone.Text != "")condition = condition + ",Contact_Phone='" + tB_Phone.Text + "'";//QQif (tB_QQ.Text != "")condition = condition + ",Contact_QQ='" + tB_QQ.Text + "'";//Emailif (tB_Email.Text != "")condition = condition + ",Contact_Email='" + tB_Email.Text + "'";String sqlcom = "update Contact set Contact_Name='" + tB_Name.Text + "'" + condition + " where Contact_ID = '" + modification_ID + "'";SqlConnection con = new SqlConnection(sqlcon);SqlCommand com = new SqlCommand(sqlcom, con);con.Open();int eq = com.ExecuteNonQuery();if (eq != 0){MessageBox.Show("修改成功思密达!");}else MessageBox.Show("修改失败思密达!");con.Close();foreach (Control item in this.Controls){if (item is TextBox){item.Text = "";}}}else MessageBox.Show("请先点击联系人再进行修改操作!");}//删除事件private void btt_Delete_Click(object sender, EventArgs e){//获取用户输入的要删除的联系人IDString delete_ID = tB_ID.Text;//连接数据库将该联系人数据删除String sqlcom = "delete from Contact where Contact_ID='" + delete_ID + "'";SqlConnection con = new SqlConnection(sqlcon);SqlCommand com = new SqlCommand(sqlcom, con);con.Open();int eq = com.ExecuteNonQuery();if (eq != 0){MessageBox.Show("删除成功思密达!");}else MessageBox.Show("删除失败思密达!");con.Close();//清空文本框foreach (Control item in this.Controls){if (item is TextBox){item.Text = "";}}}//提示用户进行联系人管理时的操作说明 并显示用户名和头像private void btt_Hint_Click(object sender, EventArgs e){//显示用户名lb_Username.Text = Login.txtLogin_Username;String sqlcom = "select Account_Image from Account where Account_Username='" + Login.txtLogin_Username + "'";SqlConnection con = new SqlConnection(sqlcon);SqlCommand com = new SqlCommand(sqlcom, con);con.Open();//返回结果集的第一行第一列object obj = com.ExecuteScalar();//将数据库中读取到的路径放入变量中String image_Path = obj.ToString();con.Close();pctrB_Image.Image = Image.FromFile(image_Path);//将图片居中显示pctrB_Image.SizeMode = PictureBoxSizeMode.StretchImage;MessageBox.Show("查询:文本框全为空时,点击查询将列出所有数据,除ID之外都为模糊查询。\r删除:点击要删除的行。\r修改:ID不可改");}private void tB_Name_MouseClick(object sender, MouseEventArgs e){//显示用户名lb_Username.Text = Login.txtLogin_Username;String sqlcom = "select Account_Image from Account where Account_Username='" + Login.txtLogin_Username + "'";SqlConnection con = new SqlConnection(sqlcon);SqlCommand com = new SqlCommand(sqlcom, con);con.Open();//返回结果集的第一行第一列object obj = com.ExecuteScalar();//将数据库中读取到的路径放入变量中String image_Path = obj.ToString();con.Close();pctrB_Image.Image = Image.FromFile(image_Path);//将图片居中显示pctrB_Image.SizeMode = PictureBoxSizeMode.StretchImage;}private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e){tB_ID.Text = this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();tB_Name.Text = this.dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();tB_QQ.Text = this.dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();tB_Phone.Text = this.dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();tB_Email.Text = this.dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();}}
}
课余时间写了这么个东西,技术不成熟,勿怪,winform入门可做参考!
有需要的可以下载:C#结合数据库开发的通讯录管理系统-C#文档类资源-CSDN下载
C#结合数据库开发通讯录管理系统相关推荐
- [内附完整源码和文档] 基于Java的个人通讯录管理系统
摘 要 随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须常与亲戚朋友,同学同事保持联系,但有时候存在许多限制条件,因此我们需要为了快速查找联系人的信息,节省查找时间,开发通讯录管理 ...
- python手机通讯录管理系统代码_[内附完整源码和文档] 基于Java的个人通讯录管理系统...
摘 要 随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须常与亲戚朋友,同学同事保持联系,但有时候存在许多限制条件,因此我们需要为了快速查找联系人的信息,节省查找时间,开发通讯录管理 ...
- 跟我学Springboot开发后端管理系统5:数据库读写分离
在Matrix-web后台管理系统中,使用到了数据库的读写分离技术.采用的开源的Sharding-JDBC作为数据库读写分离的框架.Matrix-Web后台数据库这一块采用的技术栈如下: 使用Myba ...
- 数据库课程设计之通讯录管理系统之目录
通讯录管理系统 目录 需求分析 . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1结构化系统分析 . . . . . . . . . . . . ...
- 通讯录管理系统程序开发
用数据库实现通讯录管理,主要功能: 1.分组管理 设计分组方案(如分组类型包括家庭.朋友.同学等),设计创建分组数据表,实现对分组的增删查改. 2.通讯录管理 设通讯录信息主要包括:姓名.性别.单位. ...
- 基于JavaSwing开发房产管理系统(access数据库) 课程设计 大作业
基于JavaSwing开发房产管理系统(access数据库): (大作业) 开发环境: Windows操作系统 开发工具: MyEclipse+Jdk+access数据库 运行效果图: 基于Jav ...
- java入门编程之个人通讯录管理系统
个人通讯录管理系统 问题描述: 题目描述:设计一个个人通讯录管理系统,以图形化界面及菜单方式工作. 功能需求 1) 设计一个个人信息类,类中包含字段序号.姓名.手机号码.地址和邮箱等. 2) 可以添加 ...
- 在qt实现手机通讯录系统_通讯录管理系统的设计与实现(QT,SQlite)
通讯录管理系统的设计与实现(QT,SQlite)(任务书,外文翻译,毕业论文15000字,程序代码,数据库,答辩PPT) 摘 要 现今社会随着通讯以及交通的发展,人与人之间的联系越来越多,越来越紧密, ...
- 基于javaweb的校园班级同学通讯录管理系统(java+ssm+html+jsp+mysql)
基于javaweb的校园班级同学通讯录管理系统(java+ssm+html+jsp+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...
最新文章
- bottleneck resnet网络_关于ResNet及其变体的总结(上)
- SQL Server 2008编写脚本时智能提示功能丢失的处理
- SQLite安装、编译与应用
- 若依框架二次开发中的坑
- 常用的SSH注解标签
- 5、HTML块级元素及行内元素
- YoMail+ Worktile办公协同--颠覆传统邮件使用功能
- jdbc Template 介绍和 spring 链接数据源的四种方式
- 2020 华工 数据结构-平时作业_【激光】从上海工博会看华工激光的差异化路线...
- 【51nod-1289】大鱼吃小鱼
- win7备份工具_u盘系统重装win7旗舰版详细图解教程
- 多个网站被挂菠菜黑链
- 虚拟机环境+Hadoop环境搭建
- Insecure Randomness引发对随机数生成器抵挡加密攻击的方法
- python中pos什么意思_python pos是什么
- vue+elementui 登录注册页面实现
- 苹果屏幕录制怎么没有声音_怎么录制屏幕?有哪些好用的录制屏幕软件
- Excel·VBA选中列一键计算小计总计
- 外包or外派岗,可以去?
- L298N模块的连接与使用(stm32驱动与51驱动)