If statement 尝试在netbeans中遇到麻烦

If statement 尝试在netbeans中遇到麻烦,if-statement,netbeans,hashmap,try-catch,If Statement,Netbeans,Hashmap,Try Catch,我正在尝试创建一个从我的SQL数据库获取信息的搜索引擎。现在我正在努力使combobox和textfield工作。到目前为止,我只能让代码的第一部分工作,它允许用户在数据库中搜索名称。然而,其余的根本不起作用,结果只是一个空窗口,信息应该在其中弹出 以下是代码中瑞典语单词的一些翻译: 名称 搜索 安斯塔尔德-雇员 援助-员工id 电话 try { if(jComboBoxSokAID.getSelectedItem().equals("Namn")) { String namn = j

我正在尝试创建一个从我的SQL数据库获取信息的搜索引擎。现在我正在努力使combobox和textfield工作。到目前为止,我只能让代码的第一部分工作,它允许用户在数据库中搜索名称。然而,其余的根本不起作用,结果只是一个空窗口,信息应该在其中弹出

以下是代码中瑞典语单词的一些翻译:

名称

搜索

安斯塔尔德-雇员

援助-员工id

电话

try
{

if(jComboBoxSokAID.getSelectedItem().equals("Namn"))
{
    String namn = jTextFieldSokText.getText();
    String namnQuery = "select * from ANSTALLD where namn = '" + namn + "'";
    try
    {
        HashMap <String, String> soktNamn = idb.fetchRow(namnQuery);
        jTextAreaSpecialistInfo.setText("Namn: " + soktNamn.get("namn") + "\n" + "Aid: " + soktNamn.get ("aid") + "\n" + "Telefon: " + soktNamn.get ("telefon") + "\n" + "Mail: " + soktNamn.get ("mail"));
        if(jComboBoxSokAID.getSelectedItem().equals("Mail"))
        {
        String mail = jTextFieldSokText.getText();
        String mailQuery = "select * from ANSTALLD where mail = '" + mail + "'";
        try
        {
            HashMap <String, String> soktMail = idb.fetchRow(mailQuery);
            jTextAreaSpecialistInfo.setText("Namn: " + soktMail.get("namn") + "\n" + "Aid: " + soktMail.get ("aid") + "\n" + "Telefon: " + soktMail.get ("telefon") + "\n" + "Mail: " + soktMail.get ("mail"));

            if(jComboBoxSokAID.getSelectedItem().equals("Telefon"))
            {    
            String telefon = jTextFieldSokText.getText();
            String telefonQuery = "select * from ANSTALLD where telefon = '" + telefon + "'";
            try
            {
                HashMap <String, String> soktTelefon = idb.fetchRow(telefonQuery);
                jTextAreaSpecialistInfo.setText("Namn: " + soktTelefon.get("namn") + "\n" + "Aid: " + soktTelefon.get ("aid") + "\n" + "Telefon: " + soktTelefon.get ("telefon") + "\n" + "Mail: " + soktTelefon.get ("mail"));

                if(jComboBoxSokAID.getSelectedItem().equals("AID"))
                {    
                String AID = jTextFieldSokText.getText();
                String AIDQuery = "select * from ANSTALLD where aid = '" + AID + "'";
                try
                {
                HashMap <String, String> soktAID = idb.fetchRow(AIDQuery);           
                jTextAreaSpecialistInfo.setText("Namn: " + soktAID.get("namn") + "\n" + "Aid: " + soktAID.get ("aid") + "\n" + "Telefon: " + soktAID.get ("telefon") + "\n" + "Mail: " + soktAID.get ("mail"));

                }

                catch (InformatikException e)
                {
                    if(jComboBoxSokAID == null)
                    jTextAreaSpecialistInfo.setText("Sökningen gav inga resultat");
                }

                }

            }

            catch (InformatikException e)
            {

            }

            }


        }
            catch (InformatikException e)
            {

            }
        }

    }
    catch (InformatikException e)
    {

    }
试试看
{
if(jcomboxSokaid.getSelectedItem().equals(“Namn”))
{
字符串namn=jTextFieldSokText.getText();
String namnQuery=“select*from ANSTALLD,其中namn=”+namn+”;
尝试
{
HashMap soktNamn=idb.fetchRow(namnQuery);
jTextAreaSpecialistInfo.setText(“Namn:+soktNamn.get(“Namn”)+”\n“+”Aid:+soktNamn.get(“Aid”)+“\n”+”Telefon:+soktNamn.get(“Telefon”)+“\n”+”邮件:“+soktNamn.get(“邮件”);
if(jcomboxsokaid.getSelectedItem().equals(“邮件”))
{
String mail=jTextFieldSokText.getText();
String mailQuery=“从ANSTALLD中选择*,其中mail=”+mail+”;
尝试
{
HashMap soktMail=idb.fetchRow(mailQuery);
jTextAreaSpecialistInfo.setText(“Namn:+soktMail.get(“Namn”)+”\n“+”Aid:+soktMail.get(“Aid”)+”\n“+”Telefon:+soktMail.get(“Telefon”)+“\n”+”Mail:+soktMail.get(“Mail”);
if(jcomboxsokaid.getSelectedItem().equals(“Telefon”))
{    
字符串telefon=jTextFieldSokText.getText();
String telefonQuery=“select*from ANSTALLD,其中telefon='”+telefon+“'”;
尝试
{
HashMap soktTelefon=idb.fetchRow(telefonQuery);
jTextAreaSpecialistInfo.setText(“Namn:+soktTelefon.get(“Namn”)+”\n“+”Aid:+soktTelefon.get(“Aid”)+”\n“+”Telefon:+soktTelefon.get(“Telefon”)+”\n“+”邮件:+soktTelefon.get(“邮件”);
if(jcomboxSokaid.getSelectedItem().equals(“AID”))
{    
String-AID=jTextFieldSokText.getText();
字符串AIDQuery=“从ANSTALLD中选择*,其中aid=”+aid+”;
尝试
{
HashMap-soktAID=idb.fetchRow(AIDQuery);
jTextAreaSpecialistInfo.setText(“Namn:+soktAID.get(“Namn”)+”\n“+”Aid:+soktAID.get(“Aid”)+“\n”+”Telefon:+soktAID.get(“Telefon”)+”\n“+”Mail:+soktAID.get(“Mail”);
}
捕获(信息例外)
{
if(jcomboxsokaid==null)
jTextAreaSpecialistInfo.setText(“Sökningen gav inga resultat”);
}
}
}
捕获(信息例外)
{
}
}
}
捕获(信息例外)
{
}
}
}
捕获(信息例外)
{
}

不要这样写代码

永远不要有空的挡块

我更喜欢在一个方法中有一个try/catch,这种嵌套方式表明你应该重构一个做得太多的方法

您以最糟糕的方式将持久性和UI代码混合在一起。请将它们分开,以便您可以单独测试和使用它们


你不关闭任何数据库资源。这会让你很伤心。

谢谢你,伙计!我正在考虑将搜索方法拆分为四个不同的按钮,这样我就不会把整个事情弄得如此混乱。我仍然会感谢其他人的更多评论!为什么你在代码示例中只使用Java时标记JavaScript?