当前位置: 代码迷 >> C# >> winform 程序中设计了个密码修改窗体,点击更新按钮后提示框展示数据更新成功 但实际上数据库中信息并没有改变
  详细解决方案

winform 程序中设计了个密码修改窗体,点击更新按钮后提示框展示数据更新成功 但实际上数据库中信息并没有改变

热度:42   发布时间:2016-05-05 04:06:40.0
winform 程序中设计了个密码修改窗体,点击更新按钮后提示框显示数据更新成功 但实际上数据库中信息并没有改变
窗体中有:当前用户名显示 this.label_username
                 用户类型选择框cb_UserType
                 旧密码输入框tb_lastPW.Text
                 新密码输入框tb_NewPW.Text.Trim();
                 确认密码框tb_ConNewPW
                  另有两个按钮
想实现的功能是:选择用户类型,接着在旧密码框中输入旧密码,然后输入要修改的新密码和确认密码,当输入旧密码与原旧密码相同并且两次新密码输入一致时实现密码更新(将数据库表中信息更新)。
目前的情况是:能弹出更新成功提示,但数据库中的数据并没有修改。
下面是“确认更新”按钮的事件代码,我刚接触.net不久,真不知道哪里出问题了,分数不多  但望各位大神帮我看下问题出在哪里,小弟万分感谢!

        private void btn_OK_Click(object sender, EventArgs e)
        {
            string lastPW = tb_lastPW.Text.Trim();
            string NewPW = tb_NewPW.Text.Trim();
            string ConNewPW = tb_ConNewPW.Text.Trim();
            if (lastPW == null)
            { MessageBox.Show("旧密码为空,请重新输入!", "提示"); }
            else
            {
                if ( lastPW!=Pw.Pwd )
                { MessageBox.Show("旧密码输入不正确,请重新输入!", "提示"); }
                else
                {
                    if (NewPW == null)
                    { MessageBox.Show("新密码为空,请重新输入!", "提示"); }

                    else
                    {
                        if (ConNewPW ==null )
                        { MessageBox.Show("确认密码为空,请重新输入!", "提示"); }
                        else
                        {
                            if (ConNewPW != NewPW)
                            { MessageBox.Show("两次输入不一致,请重新输入!", "提示"); }
                            else
                            {
                                string connectString = "Data Source=.;Initial Catalog=FinSystem;User ID=sa;pwd=1992106713";
                                SqlConnection sqlchange = new SqlConnection(connectString);
                     

                                if (cb_UserType.Text == "管理员")
                                {
                                    string sqlstr = "update Table_Admin set 密码='" + ConNewPW + "' where 登录名='" + this.label_username.Text + "'";
                                    sqlchange.Open();
                                    SqlCommand cmd = new SqlCommand(sqlstr, sqlchange);
                                    cmd.ExecuteNonQuery();
                                    MessageBox.Show("密码修改已成功!", "提示");

                                }

                                if (cb_UserType.Text == "普通用户")
                                {

                                    string sqlstr = "update Table_Users set 密码='" + ConNewPW + "' where 登录名='" + this.label_username.Text + "'";
                                    sqlchange.Open();
                                    SqlCommand cmd = new SqlCommand(sqlstr, sqlchange);
                                    cmd.ExecuteNonQuery( );
                                    MessageBox.Show("密码修改已成功!", "提示");

                                }

                            }
                            this.Close();
------解决思路----------------------
晕~
1、用你的连接字符串里面的用户名、密码登陆sql server企业管理器
2、使用SQL Profiler进行监控(见下图)
3、点击你的程序提交按钮,捕捉提到到数据库的语句
  相关解决方案