File tree Expand file tree Collapse file tree 1 file changed +23
-14
lines changed
src/main/rules/GCI72/java Expand file tree Collapse file tree 1 file changed +23
-14
lines changed Original file line number Diff line number Diff line change @@ -30,23 +30,32 @@ public void foo() {
3030[source,java]
3131----
3232public void foo() {
33- // ...
34- String query = "SELECT name FROM users where id in (0 ";
35- for (int i = 1; i < 20; i++) {
36-
37- query = baseQuery.concat("," + i);
33+ StringBuilder queryBuilder = new StringBuilder("SELECT name FROM users WHERE id IN (");
34+ for (int i = 0; i < 20; i++) {
35+ if (i > 0) {
36+ queryBuilder.append(",");
37+ }
38+ queryBuilder.append("?");
3839 }
40+ queryBuilder.append(")");
41+
42+ String query = queryBuilder.toString();
3943
40- query = baseQuery.concat(")");
41- Statement st = conn.createStatement();
42- ResultSet rs = st.executeQuery(query); // compliant
44+ try (Connection conn = DriverManager.getConnection("your-database-url");
45+ PreparedStatement pst = conn.prepareStatement(query)) {
4346
44- // iterate through the java resultset
45- while (rs.next()) {
46- String name = rs.getString("name");
47- System.out.println(name);
47+ for (int i = 0; i < 20; i++) {
48+ pst.setInt(i + 1, i);
49+ }
50+
51+ try (ResultSet rs = pst.executeQuery()) { // compliant
52+ while (rs.next()) {
53+ String name = rs.getString("name");
54+ System.out.println(name);
55+ }
56+ }
57+ } catch (SQLException e) {
58+ e.printStackTrace();
4859 }
49- st.close();
50- // ...
5160}
5261----
You can’t perform that action at this time.
0 commit comments