关于#c##的问题,请各位专家解答!

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)