java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java
branchv_0
changeset 34 9335cf31c0f2
parent 29 d66858b4b563
child 35 b2ff3b2d58b2
     1.1 --- a/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java	Sun Dec 22 22:02:44 2013 +0100
     1.2 +++ b/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java	Sun Dec 22 23:31:55 2013 +0100
     1.3 @@ -19,6 +19,7 @@
     1.4  
     1.5  import info.globalcode.sql.dk.batch.Batch;
     1.6  import info.globalcode.sql.dk.configuration.DatabaseDefinition;
     1.7 +import info.globalcode.sql.dk.formatting.ColumnsHeader;
     1.8  import info.globalcode.sql.dk.formatting.Formatter;
     1.9  import java.sql.Connection;
    1.10  import java.sql.DriverManager;
    1.11 @@ -38,7 +39,7 @@
    1.12  	public DatabaseConnection(DatabaseDefinition databaseDefinition) throws SQLException {
    1.13  		this.databaseDefinition = databaseDefinition;
    1.14  
    1.15 -		connection = DriverManager.getConnection(databaseDefinition.getUrl(), databaseDefinition.getName(), databaseDefinition.getPassword());
    1.16 +		connection = DriverManager.getConnection(databaseDefinition.getUrl(), databaseDefinition.getUserName(), databaseDefinition.getPassword());
    1.17  	}
    1.18  
    1.19  	public void executeQuery(SQLCommand sqlCommand, Formatter formatter) throws SQLException {
    1.20 @@ -72,7 +73,7 @@
    1.21  	private void processQueryCommand(SQLCommand sqlCommand, Formatter formatter) throws SQLException {
    1.22  		formatter.writeStartResultSet();
    1.23  		formatter.writeQuery(sqlCommand.getQuery());
    1.24 -		/** TODO: formatter.writeParameters(null); */
    1.25 +		formatter.writeParameters(sqlCommand.getParameters());
    1.26  		try (PreparedStatement ps = sqlCommand.prepareStatement(connection)) {
    1.27  			sqlCommand.parametrize(ps);
    1.28  			try (ResultSet rs = ps.executeQuery()) {
    1.29 @@ -86,7 +87,7 @@
    1.30  	private void processUpdateCommand(SQLCommand sqlCommand, Formatter formatter) throws SQLException {
    1.31  		formatter.writeStartUpdatesResult();
    1.32  		formatter.writeQuery(sqlCommand.getQuery());
    1.33 -		/** TODO: formatter.writeParameters(null); */
    1.34 +		formatter.writeParameters(sqlCommand.getParameters());
    1.35  		try (PreparedStatement ps = sqlCommand.prepareStatement(connection)) {
    1.36  			sqlCommand.parametrize(ps);
    1.37  			int updatedRowsCount = ps.executeUpdate();
    1.38 @@ -104,12 +105,18 @@
    1.39  	}
    1.40  
    1.41  	private void processResultSet(ResultSet rs, Formatter formatter) throws SQLException {
    1.42 -		/** TODO: formatter.writeColumnsHeader(null); */
    1.43 +		formatter.writeColumnsHeader(new ColumnsHeader(rs.getMetaData()));
    1.44 +		int columnCount = rs.getMetaData().getColumnCount();
    1.45 +
    1.46  		while (rs.next()) {
    1.47  			formatter.writeStartRow();
    1.48  
    1.49 -			/** TODO: formatter.writeColumnValue(rs.get); */
    1.50 +			for (int i = 1; i <= columnCount; i++) {
    1.51 +				formatter.writeColumnValue(rs.getObject(i));
    1.52 +			}
    1.53 +
    1.54  			formatter.writeEndRow();
    1.55  		}
    1.56 +
    1.57  	}
    1.58  }