C#windows窗体应用程序

新手做课程设计,求哪位大神帮忙看一下
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
MessageBox.Show("帐号不能为空");
else
{
conn = new SqlConnection(connString);
da = new SqlDataAdapter(@"select StuNo,StuName,StuPwd,TeaCode,TeaName,TeaPwd,AdminCode,AdminName,AdminPwd
from Student,Teacher,Administrator", conn);
conn.Open();

            ds = new DataSet();
            da.Fill(ds, "user");
            DataTable dt = ds.Tables[0];
            DataRow dr = null;
            int m=0,n=0;
            for (int i = 0; i < dt.Rows.Count; i++)
            {

                if (textBox1.Text==dt.Rows[i]["StuNo"])
                {
                    if (textBox2.Text.Equals(dt.Rows[i]["StuName"].ToString()))
                    {
                        textBox3.Text = dt.Rows[i]["StuPwd"].ToString();//**语句①**
                        m++;
                        break;
                    }
                    m++;
                    MessageBox.Show("密码错误");//**语句②**

                }

            }
            if (m == 0)
                MessageBox.Show("帐号不存在");


            conn.Close();
            }

为什么我在输入数据库存在的帐号后,进不去if语句?
而且如果我把第一个if语句改成if (!textBox1.Text==dt.Rows[i]["StuNo"]),第二个if语句不改,再输入数据库中存在的姓名,语句①和②都能执行?

调试下,看看dt.Rows[i]["StuNo"]输出什么,和文本框一致么?是否包含多余的空格。

你调试一下,看看 DataTable dt查出来的是什么,如果有数据可以试试textBox1.Text==dt.Rows[i][0];看看dt.Rows[i][0]输出的是啥需不需要加tostring()。调试一下就知道了