private void button1_Click(object sender, EventArgs e)
        {
            Form1 ff = new Form1();
            string a = "";
            SqlConnection sqlconn = new SqlConnection(@"server=(local);database=xmgl;uid=sa;pwd=;Connection Timeout=30");
            sqlconn.Open();
            string aa = textBox1.Text;
            string b = textBox2.Text;
            string c= comboBox1.Text;
            string sq = "Select * from uers where  name='" + aa + "' and password= '" + b + "'and dljb='"+ c +"'";
            SqlCommand sqlcomm = new SqlCommand(sq,sqlconn);
            SqlDataReader dr = sqlcomm.ExecuteReader();
           
            if(dr.Read())
            {
                a =(string) dr.GetValue(1);                if (a == "用户名")
                {
                    ff.toolStripMenuItem3.Enabled = false;
                    ff.toolStripMenuItem5.Enabled = false;
                    ff.button1.Enabled = false;
                }                 
                ff.Show();
                
            }
            sqlconn.Close();
            
            this.Hide();   
        }
为什么   当是用户名是时ff.toolStripMenuItem3.Enabled = false;
                    ff.toolStripMenuItem5.Enabled = false;
                    ff.button1.Enabled = false;
不起作用呢
ff.toolStripMenuItem3
ff.toolStripMenuItem5
ff.button1的属性都为public

解决方案 »

  1.   

    之所以错误,因为你判断的是a == "用户名",如果a为空,那么就不会有作用,自己检查下a =(string) dr.GetValue(1)这个吧,一般写成a=dr[1].tostring();
      

  2.   

    a =(string) dr.GetValue(1);你的dr是什么里面取的啊。后面写成dr.tostring()或许会有用。你可以考虑把IF的条件相反看看里面的代码是不是会执行,如果会执行,那肯定是你判定部分语句出错了。如果不会执行...不用我说了吧。
    我也是个刚学不久的菜鸟,遇到类似问题我都是这样解决的,或者你可以设置断点看看程序运行到哪里停止
      

  3.   

    是 空格问题
    加个.trim();
    搞定了