ビュー(JSP)からコントローラーまでの最終ユーザー用に選択したフィールドを使用してクエリを作成しようとしていますが、方法がわかりません。
たとえば、このパラメーターをビューから取得します(JSP)
IDUSER,>,2,OR,USERNAME,=,'KURT'
だから、こんなものが欲しいなぁ、
SELECT IDUSER, USERNAME FROM TABLE_NAME WHERE IDUSER > 2 OR USERNAME = 'KURT'
しかし、私は次の結果があります
SELECT null FROM TABLE_NAME WHERE IDUSER > 2 OR USERNAME = 'KURT'
私は文字列をStringTokenizer
クラスで解析しています。ここで、クエリは:String query = request.getParameter("data");
で、データはIDUSER,>,2,OR,USERNAME,=,'KURT'
です。
StringTokenizer field = new StringTokenizer(query, ",");
nFields = field.countTokens();
System.out.println("nFields: " + nFields);
String[] fields = new String[nFields];
for(int i = 0; i < fields.length; i++) {
while(field.hasMoreTokens()) {
fields[i] = field.nextToken();
}
System.out.println("fields[i]: " + fields[i]);
myQuery = "SELECT " + fields[i] + " FROM "+tableName+ " WHERE ";
System.out.println("myQuery 1: " + myQuery);
}
StringTokenizer token= new StringTokenizer(query, "|,");
while(token.hasMoreTokens()) {
myQuery = myQuery + token.nextToken() + " ";
}
System.out.println("QUERY RESOLVED: " + myQuery);
私を助けてください