为以后多个功能界面考虑,新增一个主界面:

主界面如下:

主界面(VIPMain.cs)详细代码如下:

 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 会员管理系统
{
public partial class VIPMain : Form
{
public VIPMain()
{
InitializeComponent();
} private void btnVIPManager_Click(object sender, EventArgs e)
{
VIPManager vm = new VIPManager();
vm.Show();
this.Hide();
} private void btnVIPLogin_Click(object sender, EventArgs e)
{
VIPLogin vp = new VIPLogin();
vp.Show();
this.Hide();
} private void btnClose_Click(object sender, EventArgs e)
{
//彻底的退出
System.Environment.Exit();
} private void btnPwdChange_Click(object sender, EventArgs e)
{
VIPPwdChange vpc = new VIPPwdChange();
vpc.Show();
this.Hide();
}
}
}

创建个修改密码的界面:

修改密码界面如下:

为了方便操作,设置启用了该窗体的快捷键:

修改密码界面(VIPPwdChange.cs)详细代码如下:

 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.Configuration;
using System.Data.SqlClient; namespace 会员管理系统
{
public partial class VIPPwdChange : Form
{
public VIPPwdChange()
{
InitializeComponent();
} private void btnBack_Click(object sender, EventArgs e)
{
VIPMain vmain = new VIPMain();
vmain.Show();
this.Hide();
} private void btnOk_Click(object sender, EventArgs e)
{
//假如文本框有空的则提示
if (txtName.Text == "" || txtOldPwd.Text == "" || txtNewPwd.Text == "" || txtNewPwdConfirm.Text == "")
{
MessageBox.Show("信息不完整,请确认完整后再提交!");
return;
}
//连接数据库字符串
string connstr = ConfigurationManager.ConnectionStrings["str"].ConnectionString;
//创建连接数据库对象
SqlConnection conn = new SqlConnection(connstr);
//查询VipAccount表语句(即查询密码)
string sql = string.Format("select vUserPwd from VipAccount where vUserName='" + txtName.Text + "'");
//创建操作数据库对象
SqlCommand cmd = new SqlCommand(sql,conn);
//打开数据库
conn.Open();
//创建SqlDataReader对象并执行cmd.ExecuteReader()方法(该方法执行查询VipAccount表语句)
SqlDataReader sdr = cmd.ExecuteReader();
//判断是否有下一条数据并把游标定位在下一条数据
if (sdr.Read())
{
//txtOldPwd文本框的值是否等于sdr的第一列数据
if (txtOldPwd.Text == sdr.GetString().Trim())
{
//判断两次输入的新密码是否一致
if (txtNewPwd.Text != txtNewPwdConfirm.Text)
{
MessageBox.Show("两次输入的新密码不一样,请重新输入");
//清空新密码文本框
txtNewPwd.Text = "";
txtNewPwdConfirm.Text = "";
return;
}
else
{
//关闭sdr
sdr.Close();
//更新VipAccount表语句
string sqlupdate =string.Format( "update VipAccount set vUserPwd='{0}' where vUserName='{1}'",txtNewPwd.Text,txtName.Text);
//创建操作数据库对象
SqlCommand cmdup = new SqlCommand(sqlupdate,conn);
//执行cmdup.ExecuteNonQuery()方法(该方法执行更新VipAccount表语句),并判断返回的值是否为0
if (cmdup.ExecuteNonQuery() == )
{
MessageBox.Show("未知异常");
return;
}
else
{
MessageBox.Show("密码修改成功");
}
}
}
else
{
MessageBox.Show("旧密码错误,或者不能为空");
txtOldPwd.Text = "";
txtNewPwd.Text = "";
txtNewPwdConfirm.Text = "";
return;
}
}
//关闭数据库连接
conn.Close();
} //设置快捷键
private void VIPPwdChange_KeyDown(object sender, KeyEventArgs e)
{
//F5确定
if(e.KeyCode==Keys.F5)
{
btnOk_Click(null,null);
}
//ESC返回
else if (e.KeyCode == Keys.Escape)
{
btnBack_Click(null,null);
}
} //当登录窗体为活动窗体时
private void VIPPwdChange_Activated(object sender, EventArgs e)
{
//设置文本框txtName获得焦点
txtName.Focus();
} //获取文本框txtName的快捷键
private void txtName_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
txtOldPwd.Focus();
txtOldPwd.SelectAll();
}
}
//获取文本框txtOldPwd的快捷键
private void txtOldPwd_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
txtNewPwd.Focus();
txtNewPwd.SelectAll();
}
}
//获取文本框txtNewPwd的快捷键
private void txtNewPwd_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
txtNewPwdConfirm.Focus();
txtNewPwdConfirm.SelectAll();
}
}
//获取文本框txtNewPwdConfirm的快捷键
private void txtNewPwdConfirm_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
btnOk_Click(null, null);
}
} }
}

登录界面也增加了快捷键操作:

登录界面(VIPLogin.cs)详细代码如下:

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
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 会员管理系统
{
public partial class VIPLogin : Form
{
public VIPLogin()
{
InitializeComponent();
}
//用于连接配置文件App.config
string connStr = ConfigurationManager.ConnectionStrings["str"].ConnectionString;
//登录按钮
private void btnLogin_Click(object sender, EventArgs e)
{
//连接数据库语句
using(SqlConnection con=new SqlConnection(connStr))
{
//操作数据库语句
string sql = "select vuserpwd from vipaccount where vUserName='" + txtName.Text + "'";
using(SqlCommand cmd=new SqlCommand(sql,con))
{
//打开数据库
con.Open();
//使用 SqlDataReader 来 读取数据库
using (SqlDataReader sdr = cmd.ExecuteReader())
{
//SqlDataReader 在数据库中为 从第1条数据开始 一条一条往下读
if (sdr.Read()) //如果读取账户成功(文本框中的用户名在数据库中存在)
{
//则将第1条 密码 赋给 字符串pwd ,并且依次往后读取 所有的密码
//Trim()方法为移除字符串前后的空白
string pwd = sdr.GetString().Trim();
//如果 文本框中输入的密码 ==数据库中的密码
if (pwd == txtPwd.Text)
{
//说明在该账户下 密码正确, 系统登录成功
MessageBox.Show("登录成功,正在进入主界面......");
//***************新增代码***************
//创建新的会员资料管理界面窗体并显示,同时把登录界面隐藏
//VIPManager vm=new VIPManager();
VIPMain vmain = new VIPMain();
vmain.Show();
this.Hide();
//***************新增代码***************
}
else
{
//密码错误
MessageBox.Show("密码错误,请重新输入");
txtPwd.Text = "";
}
}
else
{
//用户名错误
MessageBox.Show("用户名错误,请重新输入!");
txtName.Text = "";
}
}
}
}
} //设置快捷键
private void VIPLogin_KeyDown(object sender, KeyEventArgs e)
{
//如果按下ESC键
if (e.KeyCode == Keys.Escape)
{
//关闭窗体
this.Close();
}
//如果按下F5键
else if (e.KeyCode == Keys.F5)
{
//调用登录按钮单击事件
this.btnLogin_Click(null,null);
}
} //关闭
private void btnClose_Click(object sender, EventArgs e)
{
//彻底的退出
System.Environment.Exit();
} //当登录窗体为活动窗体时
private void VIPLogin_Activated(object sender, EventArgs e)
{
//设置文本框txtName获得焦点
txtName.Focus();
} //获取文本框txtName的快捷键
private void txtName_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
txtPwd.Focus();
txtPwd.SelectAll();
}
} //获取文本框txtPwd的快捷键
private void txtPwd_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
btnLogin_Click(null, null);
}
}
}
}

C#_会员管理系统:开发三(修改密码)的更多相关文章

  1. C#_会员管理系统:开发八(权限分配)

    数据库设计 这里由于增加了普通用户权限值,我们需要对数据库结构稍作修改.这里在MovieAccount表中增加4列内容 分别用于 RightFManager       判断普通用户管理界面权限   ...

  2. C#_会员管理系统:开发七(用户分类)

    登录界面(VIPLogin.cs)详细代码: using System; using System.Collections.Generic; using System.ComponentModel; ...

  3. C#_会员管理系统:开发四(日志查看)

    新建一个日志查看窗体: 日志需要的登录时间和登录状态信息由用户刚登录程序时就提供,所以在登录窗体(VIPLogin.cs)中添加代码: //定义一个全局变量 Uid; //用于获取登录成功后的用户名 ...

  4. C#_会员管理系统:开发二(会员资料管理界面的‘增删改查’)

    会员资料管理界面: 新建一个窗体,窗体界面和控件如下: 窗体中的控件dgvManager更改FullRowSelect属性(点击选中效果)为:FullRowSelect 会员资料管理界面窗体的详细代码 ...

  5. C#_会员管理系统:开发一(用户登录)

    首先创建数据库: [Vip] 创建三张表: 分别是: [VipInformation](会员信息) [Log](日志) [VipAccount](账户权限) 详细语句: --创建数据库[Vip] cr ...

  6. C#_会员管理系统:开发六(数据搜索)

    增加界面中的搜索功能 会员资料管理界面(VIPManager.cs): 详细代码如下: using System; using System.Collections.Generic; using Sy ...

  7. C#_会员管理系统:开发五(用户注册)

    创建一个新的用户注册窗体(VIPRegistration.cs): 用户注册窗体(VIPRegistration.cs)详细代码如下: using System; using System.Colle ...

  8. C#_会员管理系统

    https://www.cnblogs.com/start-from-scratch/p/5420588.html

  9. ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(三)密码修改以及密码重置

     前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/as ...

随机推荐

  1. hdu 3333 Turing Tree

    题目链接 给n个数, m个询问, 每次询问输出区间内的数的和, 相同的数只计算一次. 数组里的数是>-1e9 <1e9, 可以把它离散以后用莫队搞... #include <iost ...

  2. 射频识别技术漫谈(11)——Mifare系列卡的共性

    Mifare是NXP公司生产的一系列遵守ISO14443A标准的射频卡,包Mifare S50.Mifare S70.Mifare UltraLight.Mifare Pro.Mifare Desfi ...

  3. BZOJ 1087 互不侵犯King (位运算)

    题解:首先,这道题可以用位运算来表示每一行的状态,同八皇后的搜索方法,然后对于限制条件不相互攻击,则只需将新加入的一行左右移动与上一行相&,若是0则互不攻击,方案可行.对于每种方案,则用递推来 ...

  4. c++的正整数高精度加减乘除

    数值计算之高精度加减乘除 一.      高精度正整数的高精度计算 1.加法 2.减法 减法和加法的最大区别在于:减法是从高位开始相减,而加法是从低位开始相加 3.乘法:用高精度加法实现 l 乘法的主 ...

  5. HDU 4859(Bestcoder #1 1003)海岸线(网络流之最小割)

    题目地址:HDU4859 做了做杭电多校,知识点会的太少了.还是将重点放在刷专题补知识点上吧,明年的多校才是重点. 这题题目求的最长周长.能够试想一下,这里的海岸线一定是在"."和 ...

  6. SqlServer之like、charindex、patindex(转载)

    SqlServer之like.charindex.patindex   1.环境介绍 测试环境 SQL2005 测试数据 200W条   2.环境准备 2.1建表 CREATE TABLE [dbo] ...

  7. [译]Stairway to Integration Services Level 12 - 高级日志配置

    介绍 本文中,我们将结合之前学习的时间冒泡,日志记录,以及复制模型.建立一个自定义的SSIS包日志模型. SSIS Task事件回顾    Reviewing SSIS Task Events 在做实 ...

  8. ubuntu中彻底删除nginx

    1.先执行一下命令: 1.1 删除nginx,–purge包括配置文件 sudo apt-get --purge remove nginx 1.2 自动移除全部不使用的软件包 sudo apt-get ...

  9. Centos6.4安装JDK

    链接地址:http://www.iteye.com/topic/1130311 1.先看看OpenJDK的安装包 $ rpm -qa |grep javatzdata-java-2013b-1.el6 ...

  10. 【MFC相关】图片显示

    CPaintDC dc(this); if (!m_hBitmap) return; image.Attach(m_hBitmap); CRect rect; GetClientRect(&r ...