2017-05-26 8 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

用UPPER関数を使用することができますか? –

+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"が空の場合、 "no match found"と言ってもらいたいです。 – hw17

関連する問題