OleDbConnection OleDbConnection1 = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DatabaseAddress + ";Jet OLEDB:Database Password=1;");
                OleDbCommand MyCMD = new OleDbCommand("select * from Biao1 where UserName='" + this.textBox1.Text + "' and Userpassword='" + this.textBox2.Text+"'", OleDbConnection1);
                OleDbDataAdapter oledbDataAdapter1 = new OleDbDataAdapter();
                oledbDataAdapter1.SelectCommand = MyCMD;
                OleDbConnection1.Open();
                DataSet Mydata = new DataSet();
                oledbDataAdapter1.Fill(Mydata, "Biao1");
                OleDbConnection1.Close();
                if (Mydata.Tables.Count == 0)
                {
                    DialogResult InformationValue;
                    InformationValue = MessageBox.Show("用户名或密码错误,请核对后重新输入。 您要重新输入吗?", InformationServer, MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                    if (InformationValue == DialogResult.Yes)
                    {
                        this.textBox2.Text = "";
                        this.textBox1.Text = "";
                        this.textBox1.Focus();
                    }
                    else
                    {
                        this.textBox1.Focus();
                    }                }
                else
                {
                    MessageBox.Show("用户验证成功,欢迎你的登录!", InformationServer);
                    this.textBox1.Text = Mydata.Tables.Count.ToString();
                    this.dataGridView1.DataSource = Mydata.Tables;
                }
怎么无论我登录输入的正确与否Mydata.Tables.Count 总是1,而且dataGridView1没有任何显示,我是初学者,请大家帮一下.

解决方案 »

  1.   

    1、为什么MyData.Tables.Count总是1:不清楚,可以断点调试一下
    2、为什么dataGridViel1没有任何显示:
    this.dataGridView1.DataSource = MyData.Tables("Biao1");
    this.dataGridView1.DataBind();
      

  2.   

    你这样判断本来就是错误的...无论有没有数据,表都会填充到数据集中,MyData.Tables 都会是1...你应该这样判断  if(MyData.Tables[0].Rows.Count == 0)
                  {
                      ......
                  }              else 
                  { 
                        MessageBox.Show("用户验证成功,欢迎你的登录!", InformationServer); 
                        this.textBox1.Text = Mydata.Tables.Count.ToString(); 
                        this.dataGridView1.DataSource = Mydata.Tables; 
                  } 
      

  3.   

    昏倒,又看到你的问题了... MessageBox.Show("用户验证成功,欢迎你的登录!", InformationServer); 
     this.textBox1.Text = Mydata.Tables.Count.ToString(); 
     this.dataGridView1.DataSource = Mydata.Tables[0];顺便想问一下,你的textBox1 里面要放表的总数有啥用??????????