在比较之前将用户输入和数据库交换为小写

时间:2017-05-26 18:15:20

标签: java sql jdbc

我正试图找到一种方法“将所有课程从选定日期收集到另一个,由特定教师管理”,到目前为止,它还可以。我习惯用大写字母来匹配大写字母作为名字中的第一个字母......但是因为一些教师(McGonnagal)的姓氏中有大写字母,有没有办法比如说得到输入小写,还将数据库中的数据(McGonnagal)全部转移到小写?

所以即使用户在程序中插入了McGoNNaGal,它总是会匹配....任何人都有任何想法?“

 try {

        String lararesNamn = txtLoCLarare.getText();
        String LFN = lararesNamn.toUpperCase().charAt(0)+lararesNamn.substring(1);
        String datumFrom = txtLoCfom.getText();
        String datumTom = txtLoCtom.getText();
        String lararesEN = txtLarareEN.getText();
        String LEN = lararesEN.toUpperCase().charAt(0)+lararesEN.substring(1);
        ArrayList<HashMap<String,String>> listOfClasses = databas.fetchRows("SELECT KURSNAMN FROM KURS JOIN LARARE ON KURSLARARE = LARAR_ID WHERE KURSSTART >= " + "'" + datumFrom + "'" + " AND KURSSLUT <= " + "'" + datumTom + "'" + " AND(LARARE.FORNAMN = " + "'" + LFN + "'" + " AND LARARE.EFTERNAMN = " + "'" + LEN + "'" + ")");
                System.out.println(listOfClasses);
                JOptionPane.showMessageDialog(null, listOfClasses);
    } catch(InfException ex){
        System.out.println(ex.getMessage());
}                                        

祝你好运!

1 个答案:

答案 0 :(得分:0)

您可以将获取的名称从SQL DB转换为大写或小写。对于LOWER案例,请将查询修改为。

SELECT KURSNAMN FROM KURS JOIN LARARE ON KURSLARARE = LARAR_ID WHERE KURSSTART >= " + "'" + datumFrom + "'" + " AND KURSSLUT <= " + "'" + datumTom + "'" + " AND(LOWER(LARARE.FORNAMN) = " + "'" + LFN + "'" + " AND LOWER(LARARE.EFTERNAMN) = " + "'" + LEN + "'" + ")"

您可以将UPPER功能用于大写