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();
}
{
DataRow dr2 = dt2.NewRow();
dr2 = dt2.Rows[i];
string GroupGrade = dt2.Row[i]["權限列名"].ToString();
if (GroupGrade == "组长")
{
//是组长的话进行以下操作 }
//这个label的显示本来应该是组长/组员,现在却是列名权限
Label2.Text = dt2.Columns[2].ToString();
}
----你应该简化问题,直接选取一条记录
string sql2 = "select 组名,权限 from 表一 where 权限 = '组长' and memID = '"+memID+"'";下面是执行.....if(dr.read())
{
//是组长
}
else
{
//不是组长
}
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
{
//不是组长
}
SQL语句这样写就已经出现问题了,得到的是多条记录的结果,所以不能运行了,谁能帮帮我?
select * from Table1 where ProName = (select ProGroup from Table2 where memID='"+memID+"')
------------------
既然(select ProGroup from Table2 where memID='"+memID+"')选出的是多条,那么就用
.. ProName in (...) 喽,不要用 =