有两张表.
  一个表是"角色的ID号、角色名",另一张表里是"用户ID、用户名,用户邮箱,角色".且在Web.Config里配制了角色的ID,现在我需要在表示层的后台代码里根据这个角色的ID去查找角色为XX的用户ID,并获取所有为这个角色的用户"用户邮箱".请各位大哥大姐们帮帮忙。谢谢!

解决方案 »

  1.   


    select 用户.* from 用户 where 用户.角色=角色.ID 
      

  2.   

    select 用户ID, 用户Mail from 用户 where 角色 in ( select 角色名 from 角色 where 角色ID = id);
    执行这条语句就可以了!
      

  3.   

    SELECT 用户ID,用户名,用户邮箱,角色 
    FROM TB WHERE 
    角色 IN (SELECT 角色名 FROM TBROLE WHERE 角色的ID号='ID')
      

  4.   

    你不会在数据层写sql,在表示层调用啊!
      

  5.   

    select 用户ID, 用户Mail from 用户 as a inner join 角色 as b on a.角色名=b.角色名 
    where b.角色ID = id;
      

  6.   

    select a.用户ID,a.用户邮箱 from 用户 as a left join 角色 as b on b. 角色名=a.角色名 where b.角色ID = 角色ID
      

  7.   

    1.首先获得 角色ID,用户ID,因为在你User表里面 同时有 角色ID,用户ID 这2个字段所以就可以用这2个做条件。
    2.在BLL层写一个 GetUserInfo(int UserID,int RoleID) 方法:       /// <summary>
            /// 通过,UserID 和 RoleID 获得用户信息
            /// </summary>
            public static GetUserInfo Exists(int UserID,int RoleID)
            {
                return dal.GetUserInfo(int UserID,int RoleID);
            }
    3.在DAL层:        /// <summary>
            /// 通过,UserID 和 RoleID 获得用户信息
            /// </summary>
            public UserInfo GetUserInfo(int UserID,int RoleID)
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select * from UserInfo ");
                strSql.Append(" where [UserID]=@UserID and");
                strSql.Append("   [RoleID]=@RoleID");
                SqlParameter[] parameters = {
    new SqlParameter("@UserID", SqlDbType.Int,4),
                        new SqlParameter("@UserID", SqlDbType.Int,4)};
                parameters[0].Value = AdminName;
                parameters[1].Value = RoleID;
                AdminInfo model = new AdminInfo();            //这里的就你自己写了        }
    4.页面后台直接调用BLL就OK了
      

  8.   


    额BLL层写错了改成下面的:        /// <summary>
            /// 通过,UserID 和 RoleID 获得用户信息
            /// </summary>
            public static UserInfo GetUserInfo(int UserID,int RoleID)
            {
                return dal.GetUserInfo(int UserID,int RoleID);
            }