程序界面
 mdb数据库名称是  game.mdb   里面只有一个表 game
表里的字段  分别是   
ID   playername   odt  odth  odtt  tdt  tdth  tdtt  hdt  hdth  hdtt
                 string Path;
                string str = Application.StartupPath.ToString();
                Path = str + @"\game.mdb";                OleDbConnection cConnet=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + Path + "'");
                OleDbCommand cCommand = new OleDbCommand("select * from game", cConnet);
                try
                {
                    cConnet.Open();
                    OleDbDataReader aReader = cCommand.ExecuteReader();
                    while (aReader.Read())
                    {
                        if (aReader["playername"].ToString()==this.textBox1.Text)
                        {
                            MessageBox.Show("haha");
                        }
                        else
                        {
                            MessageBox.Show("数据库不存在此玩家信息!");
                        }
                    }
                    aReader.Close();
                    cConnet.Close();
                }
                catch (OleDbException ex)
                {
                
                }
            //    MessageBox.Show(Path);这是相关代码     我的本意是   程序界面点击查询   然后 根据所输入的text内容  到数据库查找    可是  若数据库存在一个 playername  名为aaa    那查询跳出  haha  点确定后   还会提示很多次   数据库不存在此玩家信息!  目前我mdb数据库初始了10条信息   所以会跳9次   数据库不存在此玩家信息!怎么解决?我的意图    通过查询数据库  获得相关信息   这其中这提示   MessageBox.Show("数据库不存在此玩家信息!");  我想保留    但如果真不存在   则跳很多次    数据库不存在此玩家信息!

解决方案 »

  1.   

     if (aReader["playername"].ToString()==this.textBox1.Text)
                            {
                                MessageBox.Show("haha");
                                break;
    记的条件为真时跳出循环,否则会继续执行false的,所以会提示不存在
      

  2.   

    设一个flag == false;在MessageBox.Show("haha");的时候 给flag赋值true;循环结束后判断一下 flag 如果是false 就 MessageBox.Show("数据库不存在此玩家信息!");
      

  3.   

                bool result = false;
                while (aReader.Read())
                {                if (aReader["playername"].ToString() == this.textBox1.Text)
                    {
                        MessageBox.Show("haha");
                        result = true;
                    }
                }
                if (!result)
                {
                    MessageBox.Show("数据库不存在此玩家信息!");
                }
      

  4.   

    其实LZ就不该这么写,应该直接在SQL里判断
    OleDbCommand cCommand = new OleDbCommand("select * from game where playername='"+textbox1.text+"'", cConnet);
      

  5.   

    其实LZ就不该这么写,应该直接在SQL里判断
    OleDbCommand cCommand = new OleDbCommand("select * from game where playername='"+textbox1.text+"'", cConnet);