if语句不报错,但是没有效果,检查过判断的内容都是没有问题的
不显示报错,但是运行结果不对
label2.Text = Model.Id;
string roleid = Model.roleid;
string conStr = "Data Source=LAPTOP-44BMLR77\\LEAVES;Initial Catalog=教务管理系统;Integrated Security=True";
SqlConnection con = new SqlConnection(conStr);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText= "select * from [list1] where roleid='" + roleid + "'";
SqlDataAdapter adapter1 = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
if (adapter1.Fill(ds) == 0)
{
MessageBox.Show("请重新登录!");
}
else
{
if (ds.Tables[0].Rows[0]["addteacher1"].ToString() =="0")
{
toolStripMenuItem2.Enabled = false;
label3.Text = ds.Tables[0].Rows[0]["addteacher1"].ToString();
}
if (ds.Tables[0].Rows[0]["delteacher2"].ToString() == "0")
toolStripMenuItem3.Available = false;
if (ds.Tables[0].Rows[0]["addcourse3"].ToString() == "0")
添加课程ToolStripMenuItem.Available = false;
if (ds.Tables[0].Rows[0]["delcourse4"].ToString() == "0")
删除课程ToolStripMenuItem.Available = false;
if (ds.Tables[0].Rows[0]["addstud5"].ToString() == "0")
添加学生ToolStripMenuItem.Available = false;
if (ds.Tables[0].Rows[0]["delstud6"].ToString() == "0")
删除学生ToolStripMenuItem.Available = false;
if (ds.Tables[0].Rows[0]["addgrade7"].ToString() == "0")
修改学生成绩ToolStripMenuItem.Available = false;
if (ds.Tables[0].Rows[0]["viewgrade8"].ToString() == "0")
查询个人成绩ToolStripMenuItem.Available = false;
if (ds.Tables[0].Rows[0]["viewclassgrade9"].ToString() == "0")
查询个人或班级成绩ToolStripMenuItem.Available = false;
if (ds.Tables[0].Rows[0]["modifypwd10"].ToString() == "0")
修改密码ToolStripMenuItem.Visible = true;
if (ds.Tables[0].Rows[0]["modifyp11"].ToString() == "0")
权限管理ToolStripMenuItem.Available = false;
}
没有显示报错
试过单独读取ds.Tables[0].Rows[0]["addteacher1"].ToString()内容,是没有错的,用label.text显示出来是0,把语句放到if判断下面后label内容就不变了
正确执行出来应该是按钮不可见,可是真正跑出来全是可见的
我建议你单行调试下,你这个涉及数据库表结构、数据、控件,光看代码没法判断。
if (adapter1.Fill(ds) == 0)
这个写法就很奇怪
似乎应该是
adapter1.Fill(ds);
if (ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)