【问题标题】:Update query correction更新查询更正
【发布时间】:2012-11-19 05:07:54
【问题描述】:

我应该在此查询中进行哪些更改以更新特殊用户名的角色名称?通过执行后的查询,每个角色名称都更新了!!不考虑用户名!!我不想这样,请指导我。谢谢

UPDATE 
    aspnet_Roles
SET 
    RoleName = @RoleName
FROM 
    aspnet_Membership 
INNER JOIN
    aspnet_Users ON aspnet_Membership.UserId = aspnet_Users.UserId 
INNER JOIN
    aspnet_UsersInRoles ON aspnet_Users.UserId = aspnet_UsersInRoles.UserId 
INNER JOIN
    aspnet_Roles ON aspnet_UsersInRoles.RoleId = aspnet_Roles.RoleId
WHERE       
    (aspnet_Users.UserName = @UserName)

【问题讨论】:

  • 你能告诉我们调用查询的代码吗?

标签: asp.net sql asp.net-membership sql-update inner-join


【解决方案1】:

这是会员表,我找到了解决方案。这里是:

 sqlcmd = new SqlCommand("SELECT RoleId FROM  aspnet_Roles where RoleName=@RoleName", sqlconn);
                        sqlcmd.Parameters.AddWithValue("@RoleName", "Reviewer");

                        sqlconn.Open();
                        System.Guid RoleId = ((System.Guid)sqlcmd.ExecuteScalar());

                        sqlcmd = new SqlCommand("SELECT UserId FROM  aspnet_Users where UserName=@UserName", sqlconn);
                        sqlcmd.Parameters.AddWithValue("@UserName", EditorUserName);
                        System.Guid UserId = ((System.Guid)sqlcmd.ExecuteScalar());

                        sqlcmd = new SqlCommand("SELECT RoleId FROM  aspnet_Roles where RoleName=@RoleName", sqlconn);
                        sqlcmd.Parameters.AddWithValue("@RoleName", "ReviewerEditor");
                        System.Guid ReviewerEditorRoleId = ((System.Guid)sqlcmd.ExecuteScalar());

                        sqlconn.Close();

                        ///  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////

                        sqlcmd = new SqlCommand("UPDATE  aspnet_UsersInRoles SET RoleId = @RoleId WHERE (UserId= @UserId)", sqlconn);
                        sqlcmd.Parameters.AddWithValue("@RoleId", ReviewerEditorRoleId);
                        sqlcmd.Parameters.AddWithValue("@UserId", UserId);
                        sqlconn.Open();
                        sqlcmd.ExecuteNonQuery();
                        sqlconn.Close();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    相关资源
    最近更新 更多