2017-05-26 36 views
0

我想找到一种方法来“将选定日期的所有班级收集到另一个班级,由特定教师管理”,到目前为止,班级还没有问题。我曾用大写字母来匹配大写字母作为名字中的第一个字母......但是由于一些教师(例如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()); 
}           

最好的问候!

+0

? –

+0

火鸟数据库 – hw17

回答

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 + "'" + ")" 

您可以使用大写功能您正在使用的数据库大写

+0

谢谢!我会试试看。 如果变量在数据库中不匹配,您是否知道获取输出的任何方式?现在即时通讯使用“JOptionPane.showMessageDialog(null,listOfClasses);” ,但如果“listOfClasses”为空,我希望它说“找不到匹配”。 – hw17