private void button1_Click(object sender, EventArgs e)
        {
            Conn con = new Conn("kerier", "Library", "sa", "");
            SqlConnection sqlConnection = con.creatConn();
            SqlCommand com = new SqlCommand("SELECT * FROM tbUser WHERE name='" + this.textBox1.Text + "'",sqlConnection);
            com.ExecuteNonQuery();
            SqlDataReader dr = com.ExecuteReader();            if (comboBox1.Text.Trim() == "系统管理员")
            {
                try
                {
                    if (dr.Read())
                    {
                        if (dr["pass"].ToString().Trim() == textBox2.Text.Trim())
                        {
                            string userss = dr["name"].ToString();
                            this.Hide();
                            main mm = new main();
                            mm.user = userss;
                            mm.usertype = comboBox1.Text;
                            mm.Show();
                            string myss = System.DateTime.Now.ToLongDateString() + "  " + System.DateTime.Now.ToLongTimeString() + "  " + userss + "    登陆";
                            sqlConnection.Close();
                        }
                        else
                            MessageBox.Show("密码错误!");
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("用户错误!");
                }
            }
            else if (comboBox1.Text.Trim() == "图书管理员")
            {
                try
                {
                    if (dr.Read())
                    {
                        if (dr["pass"].ToString().Trim() == textBox2.Text.Trim())
                        {
                            string userss = dr["name"].ToString();
                            this.Hide();
                            main mm = new main();
                            mm.user = userss;
                            mm.usertype = comboBox1.Text;
                            mm.Show();
                            string myss = System.DateTime.Now.ToLongDateString() + "  " + System.DateTime.Now.ToLongTimeString() + "  " + userss + "    登陆";
                            sqlConnection.Close();
                        }
                        else
                            MessageBox.Show("密码错误!");
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("用户错误!");
                }            }
            else if (comboBox1.Text.Trim() == "借阅管理员")
            {
                try
                {
                    if (dr.Read())
                    {
                        if (dr["pass"].ToString().Trim() == textBox2.Text.Trim())
                        {
                            string userss = dr["name"].ToString();
                            this.Hide();
                            main mm = new main();
                            mm.user = userss;
                            mm.usertype = comboBox1.Text;
                            mm.Show();
                            string myss = System.DateTime.Now.ToLongDateString() + "  " + System.DateTime.Now.ToLongTimeString() + "  " + userss + "    登陆";
                            sqlConnection.Close();
                        }
                        else
                            MessageBox.Show("密码错误!");
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("用户错误!");
                }            }
            else if (comboBox1.Text.Trim() == "学生")
            {
                try
                {
                    if (dr.Read())
                    {
                        if (dr["pass"].ToString().Trim() == textBox2.Text.Trim())
                        {
                            string userss = dr["name"].ToString();
                            this.Hide();
                            main mm = new main();
                            mm.user = userss;
                            mm.usertype = comboBox1.Text;
                            mm.Show();
                            string myss = System.DateTime.Now.ToLongDateString() + "  " + System.DateTime.Now.ToLongTimeString() + "  " + userss + "    登陆";
                            sqlConnection.Close();
                        }
                        else
                            MessageBox.Show("密码错误!");
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("用户错误!");
                }
            }
            else
            {
                MessageBox.Show("输入有误,请重新输入");
            }
        }
为什么输入用户名密码以后,不管选哪种身份都能登录?
懂的人帮帮我,怎么改?谢谢

解决方案 »

  1.   

    这是你查询语句的问题  不管你用哪个身份登录  
    你用的都是
    SELECT * FROM tbUser WHERE name='" + this.textBox1.Text + "'
    根本就没有身份识别,应该加个身份识别
    SELECT * FROM tbUser WHERE name='" + this.textBox1.Text + "' and [身份字段]=[登录身份]在不同的身份登陆的条件语句块中使用
    com.CommandText="sql语句";比如
     private void button1_Click(object sender, EventArgs e) 
            { 
                Conn con = new Conn("kerier", "Library", "sa", ""); 
                SqlConnection sqlConnection = con.creatConn(); 
                SqlCommand com = new SqlCommand("",sqlConnection); 
                SqlDataReader dr = null;             if (comboBox1.Text.Trim() == "系统管理员") 
                { 
                    try 
                    { 
                        com.CommandText="SELECT * FROM tbUser WHERE name='" + this.textBox1.Text + "' and [身份字段]=‘系统管理员’";
                        dr = com.ExecuteReader();
                        if (dr.Read()) 
                        { 
                            if (dr["pass"].ToString().Trim() == textBox2.Text.Trim()) 
                            { 
                                string userss = dr["name"].ToString(); 
                                this.Hide(); 
                                main mm = new main(); 
                                mm.user = userss; 
                                mm.usertype = comboBox1.Text; 
                                mm.Show(); 
                                string myss = System.DateTime.Now.ToLongDateString() + "  " + System.DateTime.Now.ToLongTimeString() + "  " + userss + "    登陆"; 
                                sqlConnection.Close(); 
                            } 
                            else 
                                MessageBox.Show("密码错误!"); 
                        } 
                    } 
                    catch (Exception) 
                    { 
                        MessageBox.Show("用户错误!"); 
                    } 
                } 
                else if (comboBox1.Text.Trim() == "图书管理员") 
                { 
                     .......................