Displaying differences for changeset
 
display as  

src/java/d/crlmod/rusle2/V1_0.java

@@ -122,7 +122,7 @@
       // return any XML data (result would be too large otherwise)
       //
       // ************************************************************************
-      String query = "SELECT id, path, name, scienceDate FROM R2_Data ORDER BY path, name;";
+      String query = "SELECT " + ((limit > 0) ? " TOP " + limit : "") + " id, path, name, scienceDate FROM R2_Data ORDER BY path, name;";
       try (Connection conn = getConnection(); Statement stmnt = conn.createStatement();) {
         ResultSet results = stmnt.executeQuery(query);
         while (results.next()) {
@@ -140,8 +140,8 @@
     } else {
       if (null != ids) {
         //  Client wants data by Id
-        String query = "SELECT id, path, name, scienceDate, xmlData FROM R2_Data WHERE ";
-        query += buildPreparedWhereIsList("id", ids);
+        String query = "SELECT " + ((limit > 0) ? " TOP " + limit : "") + " id, path, name, scienceDate, xmlData FROM R2_Data WHERE ";
+        query += buildPreparedWhereIsList("id", ids) + " ORDER BY path, name;";
         try (Connection conn = getConnection(); PreparedStatement stmnt = conn.prepareStatement(query)) {
           int counter = 1;
           for (String id : ids) {
@@ -163,12 +163,12 @@
         }
       } else {
         //  Client wants data by other fields.  Query other fields.
-        String query = "SELECT id, path, name, scienceDate, xmlData FROM R2_Data WHERE ";
+        String query = "SELECT " + ((limit > 0) ? " TOP " + limit : "") + " id, path, name, scienceDate, xmlData FROM R2_Data WHERE ";
         boolean add = false;
 
         if ((null != paths) && (paths.length >= 0)) {
           add = true;
-          query += buildPreparedWhereIsList("path", paths);
+          query += buildPreparedWhereIsList("path", paths) + " ORDER BY path, name;";
         }
 
         if ((null != names) && (names.length >= 0)) {
@@ -203,13 +203,13 @@
 
           if ((null != partial_paths) && (partial_paths.length >= 0)) {
             for (String path : partial_paths) {
-              stmnt.setString(counter++, path);
+              stmnt.setString(counter++, "%" + path + "%");
             }
           }
 
           if ((null != partial_names) && (partial_names.length >= 0)) {
             for (String name : partial_names) {
-              stmnt.setString(counter++, name);
+              stmnt.setString(counter++, "%" + name + "%");
             }
           }
 
@@ -263,7 +263,7 @@
     if ((null != values) && (values.length > 0)) {
       where = "(";
       for (int i = 0; i < values.length; i++) {
-        where += fieldName + " LIKE '%" + values[i] + "%' ";
+        where += fieldName + " LIKE ? ";
         if ((i + 1) < values.length) {
           where += " OR ";
         }