检查空或空记录条件

时间:2019-05-28 09:52:37

标签: sql list if-statement jdbc

我想知道我是否很好地执行了这段代码,要检查记录的编码是否为null或为空,请使用getTraduction(),如果我做错了什么,请告诉我哪里出了问题。 因为我甚至想打印空记录

public void getTraduttoreIt_CLASS_HDR_NLS() throws Exception {
        List<ClassHdrNls> db2 = getListCLASS_HDR_NLS();
        List<DizioPt> sqlServer = getListDizioPt();
        BufferedWriter scrivi = new BufferedWriter(
                new FileWriter("C:/Users/francesco/Desktop/Table_ClassHdrNls_Sez3.txt"));
        for (int i = 0; i < db2.size(); i++) {
            for (int j = 0; j < sqlServer.size(); j++) {
                if (db2.get(i).getNlsClassName().equals(sqlServer.get(j).getKeyword())) {
                    System.out.println("-------------------FILE N°3---------------------------");
                    System.out.println("-------------------ITALIANO---------------------------");
                    System.out.println("CLASS_NAME: " + db2.get(i).getClassName());
                    scrivi.newLine();
                    scrivi.write("CLASS_NAME: ");
                    scrivi.write(db2.get(i).getClassName());
                    scrivi.newLine();
                    System.out.println("NLS_CLASS_NAME: " + db2.get(i).getNlsClassName());
                    scrivi.write("NLS_CLASS_NAME: ");
                    scrivi.write(db2.get(i).getNlsClassName());
                    scrivi.newLine();
                    System.out.println("NLS_PL_CLASS_NAME: " + db2.get(i).getNlsPlClassName());
                    scrivi.write("NLS_PL_CLASS_NAME: ");
                    scrivi.write(db2.get(i).getNlsPlClassName());
                    scrivi.newLine();
                    System.out.println("KEYWORD: " + sqlServer.get(j).getKeyword());
                    scrivi.write("KEYWORD: ");
                    scrivi.write(sqlServer.get(j).getKeyword());
                    scrivi.newLine();
                    System.out.println("LINGUA ITALIANO: " + db2.get(i).getLanguage() + " ***");
                    scrivi.write("LINGUA ITALIANO: ");
                    scrivi.write(db2.get(i).getLanguage() + " ***");
                    scrivi.newLine();

                    // Faccio un controllo se il valore è diverso da null o il record è vuoto
                    if (sqlServer.get(j).getTraduzione() == null || sqlServer.get(j).getTraduzione().isEmpty()) {
                        System.out.println("TRADUZIONE: ***********");
                        scrivi.write("TRADUZIONE: ");
                        scrivi.write("*******************");
                        scrivi.newLine();
                    } else {
                        System.out.println("TRADUZIONE: " + sqlServer.get(j).getTraduzione());
                        scrivi.write("TRADUZIONE: ");
                        scrivi.write(sqlServer.get(j).getTraduzione());
                        scrivi.newLine();
                    }

                    System.out.println("-------------------------------------------------------");
                    scrivi.flush();
                }
            }

        }
        scrivi.close();
    }

输出: 仅打印非空和非空记录。

我也想打印空记录

1 个答案:

答案 0 :(得分:0)

此行:

 if (db2.get(i).getNlsClassName().equals(sqlServer.get(j).getKeyword()))

可能是您不打印空值的原因,因为它仅在匹配后才强制打印。

您应该检查数据(打印所有数据)以查看得到的信息。 如果找到空值,则意味着在if条件下进行打印是阻止您看到空值被打印的原因。