java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/PreparedStatement.java
equal
deleted
inserted
replaced
29 * |
29 * |
30 * @author Ing. František Kučera (frantovo.cz) |
30 * @author Ing. František Kučera (frantovo.cz) |
31 */ |
31 */ |
32 public class PreparedStatement extends AbstractPreparedStatement { |
32 public class PreparedStatement extends AbstractPreparedStatement { |
33 |
33 |
34 private Map<Integer, ObjectParameter> parameters = new HashMap<>(); |
34 private final Map<Integer, ObjectParameter> parameters = new HashMap<>(); |
35 private List<Object[]> table; |
35 private List<Object[]> table; |
36 private ResultSetMetaData metadata = new ResultSetMetaData(); |
36 private final ResultSetMetaData metadata = new ResultSetMetaData(); |
37 |
37 |
38 @Override |
38 @Override |
39 public void setObject(int parameterIndex, Object data, int targetSqlType) throws SQLException { |
39 public void setObject(int parameterIndex, Object data, int targetSqlType) throws SQLException { |
40 parameters.put(parameterIndex, new ObjectParameter(data, targetSqlType)); |
40 parameters.put(parameterIndex, new ObjectParameter(data, targetSqlType)); |
41 } |
41 } |
44 public boolean execute() throws SQLException { |
44 public boolean execute() throws SQLException { |
45 |
45 |
46 if (parameters.size() < 1) { |
46 if (parameters.size() < 1) { |
47 throw new SQLException("Missing first parameter (column count)"); |
47 throw new SQLException("Missing first parameter (column count)"); |
48 } else { |
48 } else { |
49 int columnCount = Integer.valueOf((String) parameters.get(1).getData()); |
49 int columnCount = Integer.valueOf(String.valueOf(parameters.get(1).getData())); |
50 |
50 |
51 for (int i = 0; i < columnCount; i++) { |
51 for (int i = 0; i < columnCount; i++) { |
52 String label = parameters.get(1 + i + 1).getData().toString(); |
52 String label = parameters.get(1 + i + 1).getData().toString(); |
53 metadata.addColumn(new ResultSetMetaData.ColumnDescriptor(Types.VARCHAR, "VARCHAR", label, label)); |
53 metadata.addColumn(new ResultSetMetaData.ColumnDescriptor(Types.VARCHAR, "VARCHAR", label, label)); |
54 } |
54 } |