# `executeQuery`: Example
__*executeQuery*__
```
...
public static void printResultSetStringString(String stmtText, Connection connection) {
    int count = 0;
    System.out.println("\n/* Executing query: "+stmtText+"; */");
    try {
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.~!@executeQuery(stmtText)@!~;
        System.out.println("Row#, "+resultSet.getMetaData().getColumnName(1)+", "+resultSet.getMetaData().getColumnName(2));
        while (resultSet.next()) {
            System.out.println((++count) + ") " + resultSet.getString(1)+", "+resultSet.getString(2));
        }
        resultSet.close();
        statement.close();
    } catch (Exception e) {
        System.out.println("Error: "+e.toString());
    }
}
```

------------------------------------------------------------
You can tell that the program closes the ResultSet and Statement objects, respectively.

Class demo scripts:

For macOS and Linux: https://github.com/pingcap/tidb-course-201-lab/blob/master/scripts/09-demo-jdbc-execute-query-01-show.sh

For Windows: https://github.com/pingcap/tidb-course-201-lab/blob/master/scripts/09-demo-jdbc-execute-query-01-show.bat

```
...
public static void printResultSetStringString(String stmtText, Connection connection) {
    int count = 0;
    System.out.println("\n/* Executing query: "+stmtText+"; */");
    try {
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery(stmtText);
        System.out.println("Row#, "+resultSet.getMetaData().getColumnName(1)+", "+resultSet.getMetaData().getColumnName(2));
        while (resultSet.next()) {
            System.out.println((++count) + ") " + resultSet.getString(1)+", "+resultSet.getString(2));
        }
        resultSet.close();
        statement.close();
    } catch (Exception e) {
        System.out.println("Error: "+e.toString());
    }
}
```
