我正试图找到一种方法“将所有课程从选定日期收集到另一个,由特定教师管理”,到目前为止,它还可以。我习惯用大写字母来匹配大写字母作为名字中的第一个字母......但是因为一些教师(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)
您可以将获取的名称从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功能用于大写