for (i = 0;i < count;i++)
{
DataRow dr2 = dt2.NewRow();
dr2 = dt2.Rows[i];
string GroupGrade = dt2.Row[i]["權限列名"].ToString();
if (GroupGrade == "组长")
{
//是组长的话进行以下操作                    }
                          //这个label的显示本来应该是组长/组员,现在却是列名权限
Label2.Text = dt2.Columns[2].ToString();
}

解决方案 »

  1.   

    从表中根据人名查出对应记录后,(可能一条,也可能多条。)判断是否 他/她 在某个组中是组长,如果是组长,就给予一定操作,否则不做任何操作。
    ----你应该简化问题,直接选取一条记录
    string sql2 = "select 组名,权限 from 表一 where 权限 = '组长' and memID = '"+memID+"'";下面是执行.....if(dr.read())
    {
       //是组长
    }
    else
    {
      //不是组长
    }
      

  2.   

    改了一下:
    string sql = "select 组名 from Table where (Grade = '组长' and memID = '"+memID+"')";
    OracleCommand oraclecmd = new OracleCommand(sql,oracleConnection1);
    //执行
    OracleDataReader drRead = oraclecmd.ExecuteReader();
    if (drRead.Read())
    {
    //是组长需要根据 他/她 属于的组(组名)选出所有在这个组里人的记录。但是由于查询出来的结果不是单条记录,而是多条记录,应该怎么处理呢??问题似乎又回到多条记录判断上去了……
    //建立数据集
    DataSet ds = new DataSet();
    OracleDataAdapter da = new OracleDataAdapter(sql,oracleConnection1);
    da.Fill(ds,"list");
    //声明DataTable
    DataTable dt;
    dt = ds.Tables["list"];
    DataRow dr = dt.NewRow();
    dr = dt.Rows[0];
    DataColumn dc;
    dc = dt.Columns[0];
    //取得0行0列的值
    string GroupID = dr[dc].ToString();
    }
                               else
                               {
                               //不是组长 
                               }
      

  3.   


    SQL语句这样写就已经出现问题了,得到的是多条记录的结果,所以不能运行了,谁能帮帮我?
    select * from Table1 where ProName = (select ProGroup from Table2 where memID='"+memID+"')
      

  4.   

    select * from Table1 where ProName = (select ProGroup from Table2 where memID='"+memID+"')
    ------------------
    既然(select ProGroup from Table2 where memID='"+memID+"')选出的是多条,那么就用
    .. ProName in (...) 喽,不要用 =
      

  5.   

    select 组名,人名 where 组名 in(select 组名 from Table where (Grade = '组长' and memID = '"+memID+"')")