select Users.UserID,Role.RoleID from Users,Role where UserName='" + txtUserName.Text + "'and  RoleName='" +    txtRoleName.Text + "'", cm);     User_Role 表中有UserID和RoleID两列,现在需要根据select语句得到的UserID和RoleID作为条件,删除User_Role表中满足条件的一列,
     我是新手!
     写下代码

解决方案 »

  1.   

    "delete from User_Role where RoleName='" + txtRoleName.Text + "' and 
    UserID in (select UserID from Users where UserName='" + txtUserName.Text + "'"
      

  2.   

    "delete from User_Role where RoleID ='" + txtRoleName.Text + "' and  
    UserID in (select UserID from Users where UserName='" + txtUserName.Text + "')"
      

  3.   

    delete from User_Role where exists (select 1 from Users,Role where User_Role.UserID = Users.UserID and User_Role.RoleID = Role.RoleID and Users.UserName='" + txtUserName.Text + "'and Role.RoleName='" + txtRoleName.Text + "'" )
      

  4.   

    delete from User_Role where UserId=(select UserId from User where UserName='"+txtUserName.Text+"') and RoleId=(select RoleId from Role where RoleName='"+txtRoleName.Text+"')
    这个就满LZ的要求了.
      

  5.   

    在你的select 中找到了userid,roleid,
    然后在程序中for进行删除,不就行了啊,不要直接写一个sql语句来搞定
    那个delete语句如下:
    delete from user_role where userid=select出来的userid and roleid=select出来的roleid如果要看清题目才回答的话,那我问楼主,你的这句话“删除User_Role表中满足条件的一列”  你觉得对不对,是删除一行吧。能删除一列吗?