为用户提供新密码时更新数据库中的密码 [英] Update Password in database when supply new password for user

查看:103
本文介绍了为用户提供新密码时更新数据库中的密码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

private void UpdatePassword(string UserName, string Password)
    {
        string connectString = @"serve=........";
        SqlConnection conn = new SqlConnection(connectString);
        
        try
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand("sp_UpdatePassword", conn);
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
        }
        catch (SqlException ex)
        {
            Console.WriteLine("Error: " + ex);
        }
        finally
        {
            conn.Close();
        }
    }



//////和我的商店程序



////// And my storeProcedure

ALTER proc [dbo].[sp_UpdatePassword]
(
	@Email varchar(50),
	@Password varchar (50)
)
as
update UserInfo
set [Password] = @Password
where Email = @Email



////////
非常感谢!



////////
Many Thanks !

推荐答案

您没有将任何参数传递给cmd.

请查看下面的链接以获取更多信息.
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx

更新-
http://msdn.microsoft.com/en-us/library/tyy0sz6b.aspx

代码中的另一个问题是您没有调用ExecuteNonQuery.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx
You are not passing any Parameters to your cmd.

Have a look at below link for more information.
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx

Update -
http://msdn.microsoft.com/en-us/library/tyy0sz6b.aspx

One more problem in your code is you are not calling ExecuteNonQuery.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx


Replace your code:
private void UpdatePassword(string Email, string Password)
    {
        string connectString = @"serve=........";
        SqlConnection conn = new SqlConnection(connectString);
        
        try
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand("sp_UpdatePassword", conn);
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@Email",SqlDbType.VarChar));
            cmd.Parameters["@Email"].Value = Email;
            cmd.Parameters.Add(new SqlParameter("@Password",SqlDbType.VarChar));
            cmd.Parameters["@Password"].Value = Password;
            cmd.ExecuteScalar();
        }
        catch (SqlException ex)
        {
            Console.WriteLine("Error: " + ex);
        }
        finally
        {
            conn.Close();
        }
    }


这篇关于为用户提供新密码时更新数据库中的密码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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