更新名称,密码和电子邮件 [英] Update name, password and email

查看:100
本文介绍了更新名称,密码和电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想更新姓名,密码和电子邮件......

没有错误,但代码没有更新。



注册table:



I want to update name, password and email...
No error, but code doesn't update.

Registration table:

UserId | UserName | Password | Email
 1     |  robert  |123456789 | robert@hotmail.com



我在这张桌子上创建了触发器而不是注册用户。





更新查询存储过程:


I've created trigger on this table not to register more than on user.


Update query stored procedure:

ALTER PROCEDURE [dbo].[SettingUsNPass]

(
@UserName nvarchar(50),
@Password varchar(50),
@Email nvarchar(50)
)

as
 
update tblRegF 
  
  set 
  [UserName] = @UserName,
  [Password] = @Password,
  [Email]    = @Email
  
Where UserName  = @UserName





C#代码更新按钮:



C# code on Update button:

private void btnUpdate_Click(object sender, EventArgs e)
       {
           try
           {
               string c = ConfigurationManager.ConnectionStrings["Constr"].ConnectionString;
               SqlConnection con = new SqlConnection(c);
               con.Open();
               SqlCommand cmd = new SqlCommand("SettingUsNPass", con);
               cmd.CommandType = CommandType.StoredProcedure;
               cmd.Parameters.AddWithValue("@Name", txtName.Text);
               cmd.Parameters.AddWithValue("@Password", txtPass.Text);
               cmd.Parameters.AddWithValue("@Email", txtEmail.Text);
               cmd.ExecuteNonQuery();
               con.Close();
               MessageBox.Show("Updated");
           }

           catch (Exception ex)
           {
               Console.WriteLine("SqlError" + ex);

           }

推荐答案

更新代码:

Updated code:
private void btnUpdate_Click(object sender, EventArgs e)
       {
           try
           {
               string c = ConfigurationManager.ConnectionStrings["Constr"].ConnectionString;
               SqlConnection con = new SqlConnection(c);
               con.Open();
               SqlCommand cmd = new SqlCommand("SettingUsNPass", con);
               cmd.CommandType = CommandType.StoredProcedure;
               cmd.Parameters.AddWithValue("@UserName", txtName.Text);
               cmd.Parameters.AddWithValue("@Password", txtPass.Text);
               cmd.Parameters.AddWithValue("@Email", txtEmail.Text);
               int n = cmd.ExecuteNonQuery();
               con.Close();
               if(n > 0)
                   MessageBox.Show("Updated");
           }
           catch (Exception ex)
           {
               Console.WriteLine("SqlError" + ex);
           }



你在程序中使用了 @Username 并且你传递了 @Name



-KR


You've used @Username in procedure and you're passing @Name.

-KR


添加KrunalRohit所说的内容,从不将密码存储为纯文本: http: //www.commitstrip.com/wp-content/uploads/2013/09/Strips-Erreur-au-pilori-001-650-finalenglish.jpg [ ^ ]

此处显示了一种更好的方法,并解释了原因:密码存储:怎么做。 [ ^ ]
To add to what KrunalRohit has said, never store passwords as plain text: http://www.commitstrip.com/wp-content/uploads/2013/09/Strips-Erreur-au-pilori-001-650-finalenglish.jpg[^]
A better way is shown here, with an explanation as to why: Password Storage: How to do it.[^]


这篇关于更新名称,密码和电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆