Skip to content

Commit

Permalink
Merge pull request #1 from Software-Engineering-CoE/EC72-Java-Fix
Browse files Browse the repository at this point in the history
Update EC72 Example Code
  • Loading branch information
lbg-pete authored and GitHub Enterprise committed Nov 22, 2024
2 parents c1c55fe + 300337a commit dcd621f
Showing 1 changed file with 23 additions and 14 deletions.
37 changes: 23 additions & 14 deletions ecocode-rules-specifications/src/main/rules/EC72/java/EC72.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -28,23 +28,32 @@ public void foo() {

```java
public void foo() {
// ...
String query = "SELECT name FROM users where id in (0 ";
for (int i = 1; i < 20; i++) {

query = baseQuery.concat("," + i);
StringBuilder queryBuilder = new StringBuilder("SELECT name FROM users WHERE id IN (");
for (int i = 0; i < 20; i++) {
if (i > 0) {
queryBuilder.append(",");
}
queryBuilder.append("?");
}
queryBuilder.append(")");

String query = queryBuilder.toString();

query = baseQuery.concat(")");
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query); // compliant
try (Connection conn = DriverManager.getConnection("your-database-url");
PreparedStatement pst = conn.prepareStatement(query)) {

// iterate through the java resultset
while (rs.next()) {
String name = rs.getString("name");
System.out.println(name);
for (int i = 0; i < 20; i++) {
pst.setInt(i + 1, i);
}

try (ResultSet rs = pst.executeQuery()) { // compliant
while (rs.next()) {
String name = rs.getString("name");
System.out.println(name);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
st.close();
// ...
}
```

0 comments on commit dcd621f

Please sign in to comment.