X-Git-Url: http://jaekl.net/gitweb/?p=squelch.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fjaekl%2Fsquelch%2Fstmt%2FSelect.java;h=c5f785e5a3d6acd651bc30b3822f362a255f5f30;hp=afad262856bfec4d0c834951fa778c7573cbe1b1;hb=5c97ab69edb44c0f1a7dc416ffaf1b934f7a3d7d;hpb=dad47827334a0732966cc197dfe1e3ac303fb694 diff --git a/src/main/java/net/jaekl/squelch/stmt/Select.java b/src/main/java/net/jaekl/squelch/stmt/Select.java index afad262..c5f785e 100644 --- a/src/main/java/net/jaekl/squelch/stmt/Select.java +++ b/src/main/java/net/jaekl/squelch/stmt/Select.java @@ -8,6 +8,8 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.Locale; +import net.jaekl.squelch.db.DbDriver; + public class Select extends Query { @Override @@ -21,16 +23,21 @@ public class Select extends Query { } @Override - public int exec(Connection conn, PrintWriter pw, String line) throws IOException, SQLException + public int exec(DbDriver driver, Connection conn, PrintWriter pw, String line) throws IOException, SQLException { int rowCount = 0; - try (PreparedStatement ps = conn.prepareStatement(line)) + // If there's a ';' on the end of this line, remove it. + String trimmed = line.trim(); + if (trimmed.endsWith(";")) { + trimmed = trimmed.substring(0, trimmed.length() - 1); + } + + try (PreparedStatement ps = conn.prepareStatement(trimmed)) { try (ResultSet rs = ps.executeQuery()) { - rowCount = printFormatted(pw, rs); - + rowCount = printFormatted(pw, rs); } } return rowCount; @@ -39,7 +46,8 @@ public class Select extends Query { private int printFormatted(PrintWriter pw, ResultSet rs) throws IOException, SQLException { TabularResultSet trs = new TabularResultSet(rs); - int rowCount = trs.printTable(pw); + // TODO: StringTable i18n + int rowCount = trs.printTable(pw, "No rows returned."); pw.flush(); return rowCount;