select Users.UserID,Role.RoleID  from Users,Role where Users_Role.UserID = Users.UserID and Users_Role.RoleID = Role.RoleID and Users.UserName='" + txtUserName.Text + "'and Role.RoleName='" + txtRoleName.Text + "'   "select RoleID from Users where  RoleName='"+ txtRoleNameNew.Text  +"'";
  
  根据第一个select语句找到Users_Role中的一列有UserID和RoleID,然后用第二个select语句得到的RoleID替换第一个select找到的RoleID,
  我是新手,谁能写下代码,
  还有回帖请看清楚意思了再回!

解决方案 »

  1.   

    update Users  
    set RoleId = (select RoleID from Users where RoleName='"+ txtRoleNameNew.Text +"') 
    where 
    userid in (select Users.UserID from Users,Role where Users_Role.UserID = Users.UserID and Users_Role.RoleID = Role.RoleID and Users.UserName='" + txtUserName.Text + "'and Role.RoleName='" + txtRoleName.Text + "' ) 
    and 
    roleid in (select Role.RoleID from Users,Role where Users_Role.UserID = Users.UserID and Users_Role.RoleID = Role.RoleID and Users.UserName='" + txtUserName.Text + "'and Role.RoleName='" + txtRoleName.Text + "' )
      

  2.   

        现在三个表UserS(表中有UserName和UserID),Role(表中有RoleName和RoleID),UserS_Role(表中有UserID和RoleID),现在要根据输入的三个字符串UserName(可在UserS表中select到UserID),RoleNameOld(可select到RoleID),RoleNameNew可(select到RoleID),此时三个字符串都能关系到同一个表UserS_Role中,此时UserName得到的UserID和RoleNameOld得到的RoleID在表UserS_Role中,
    要求用RoleNameNew得到的RoleID替换RoleNameOld得到的RoleID,
        谢了