| 
 | 
 
 本帖最后由 秋日的枫叶 于 2013-5-19 11:22 编辑  
 
在学习数据库的时候遇到一个问题 
 
我查询数据库中数据 
通过reader.Read()和while方法 
将他们输入到richbox中 
 
代码如下 
 
[code=csharp] 
            string conn = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"; 
            SqlConnection sql = new SqlConnection(conn); 
            sql.Open (); 
            SqlCommand cmd = sql.CreateCommand(); 
            cmd.CommandText = "select * from Mp_User"; 
            SqlDataReader reader = cmd.ExecuteReader(); 
 
            while(reader.Read ()) 
            { 
                string Name =reader.GetString(0); 
                string age = reader.GetString(1); 
                richTextBox1.AppendText("用户名是:"+Name+"年龄是:"+age+"\n"); 
            } 
                //如果这里加return也不合适,因为下面还有很多语句要执行 
                MessageBox.Show("数据库中没有数据");//这句一定被执行了,我想是在没有数据的情况下才执行。 
 
            reader.Dispose(); 
            cmd.Dispose(); 
            sql.Dispose(); 
            //其他要执行的语句 
[/code] 
 
问题: 
 
如果数据库中没有数据,我想他弹出对话框,提示错误 
但是while语句执行后,肯定会执行这个messagebox。我也不能再messagebox上面加return 
因为后面还有语句要执行?有什么办法吗? 
能让while结合if? 
 
----------------是我逻辑错误,应该不存在这样的情况---------- 
        int i = 0; 
        while(i<=10) 
         { 
           i++; 
         } 
        MessageBox.Show("i的值大于10"); 
 
用这样的代码看起来更清楚。 
 
 
 
 
 |   
 
 
 
 |