Mysql在java中的用法,而(result.next())使用if和else

Mysql在java中的用法,而(result.next())使用if和else,java,mysql,Java,Mysql,我对mysql在java中的if-else用法有一个问题 我的代码是: if (!result29.next() ) { System.out.println("No data"); } else { do { if(name1.equals(result29.getString("name2"))) { //screen one namedelete as = new namedelete(

我对mysql在java中的if-else用法有一个问题

我的代码是:

if (!result29.next() ) 
{
    System.out.println("No data");
} 
else {
    do {
        if(name1.equals(result29.getString("name2")))
        {
            //screen one  
            namedelete as = new namedelete();
            as.setVisible(true);
        }
        else
        {
            //screen two
            nameadd aek = new nameadd();
            aek.setVisible(true);
        }  
     } while (result29.next());
}
如果我尝试简短地告诉这段代码,如果name2(一个mysql列结果)等于name1(一个输入值)打开屏幕一,如果不等于,则打开屏幕二

问题

问题是,如果它们相等,第一屏第二屏都打开。但是,如果不等于正常工作,只需打开屏幕2即可


你能帮我吗,我怎样才能解决那个问题

最有可能的原因是结果集包含多行,有些行相等,有些行不相等


我想如果你调试了你的程序,你会发现屏幕2显示了很多次。

你正在运行一个while循环。您可以为所有记录集执行if和else语句。如果条件满足,为什么不打破循环呢?只需插入if和else,您就不会同时得到两个结果。@user1502952嗯,好的,我会试试,谢谢。@user1502952它现在工作正常:)谢谢您向我们展示您正在使用的SQL。要使逻辑正常工作,行集最多必须有一行。如果您将问题编辑为包含查询,我可以帮助您进行查询。让沈总知道你已经做到了。