# Class: SQLConnection

## vertx-sql-js/sql_connection~ SQLConnection

#### new SQLConnection()

Represents a connection to a SQL database

Source:
  - vertx-sql-js/sql_connection.js, line 31

### Methods

#### call(sql, resultHandler) → {SQLConnection}

Calls the given SQL `PROCEDURE` which returns the result from the procedure.

##### Parameters:

Name | Type | Description
--- | --- | ---
`sql` | string | the SQL to execute. For example `{call getEmpName (?, ?)}`.
`resultHandler` | function | the handler which is called once the operation completes. It will return a `ResultSet`.

Source:
  - vertx-sql-js/sql_connection.js, line 180

##### Returns:

Type
  SQLConnection

#### callWithParams(sql, params, outputs, resultHandler) → {SQLConnection}

Calls the given SQL `PROCEDURE` which returns the result from the procedure. The index of params and outputs are important for both arrays, for example when dealing with a prodecure that takes the first 2 arguments as input values and the 3 arg as an output then the arrays should be like:

         params = [VALUE1, VALUE2, null]
         outputs = [null, null, "VARCHAR"]

##### Parameters:

Name | Type | Description
--- | --- | ---
`sql` | string | the SQL to execute. For example `{call getEmpName (?, ?)}`.
`params` | todo | these are the parameters to fill the statement.
`outputs` | todo | these are the outputs to fill the statement.
`resultHandler` | function | the handler which is called once the operation completes. It will return a `ResultSet`.

Source:
  - vertx-sql-js/sql_connection.js, line 212

##### Returns:

Type
  SQLConnection

#### close(handler)

Closes the connection. Important to always close the connection when you are done so it's returned to the pool.

##### Parameters:

Name | Type | Description
--- | --- | ---
`handler` | function | the handler called when this operation completes.

Source:
  - vertx-sql-js/sql_connection.js, line 232

#### commit(handler) → {SQLConnection}

Commits all changes made since the previous commit/rollback.

##### Parameters:

Name | Type | Description
--- | --- | ---
`handler` | function | the handler called when this operation completes.

Source:
  - vertx-sql-js/sql_connection.js, line 254

##### Returns:

Type
  SQLConnection

#### execute(sql, resultHandler) → {SQLConnection}

Executes the given SQL statement

##### Parameters:

Name | Type | Description
--- | --- | ---
`sql` | string | the SQL to execute. For example `CREATE TABLE IF EXISTS table ...`
`resultHandler` | function | the handler which is called once this operation completes.

Source:
  - vertx-sql-js/sql_connection.js, line 66

##### Returns:

Type
  SQLConnection

#### getTransactionIsolation(handler) → {SQLConnection}

Attempts to return the transaction isolation level for this Connection object to the one given.

##### Parameters:

Name | Type | Description
--- | --- | ---
`handler` | function | the handler called when this operation completes.

Source:
  - vertx-sql-js/sql_connection.js, line 337

##### Returns:

Type
  SQLConnection

#### query(sql, resultHandler) → {SQLConnection}

Executes the given SQL `SELECT` statement which returns the results of the query.

##### Parameters:

Name | Type | Description
--- | --- | ---
`sql` | string | the SQL to execute. For example `SELECT * FROM table ...`.
`resultHandler` | function | the handler which is called once the operation completes. It will return a `ResultSet`.

Source:
  - vertx-sql-js/sql_connection.js, line 88

##### Returns:

Type
  SQLConnection

#### queryWithParams(sql, params, resultHandler) → {SQLConnection}

Executes the given SQL `SELECT` prepared statement which returns the results of the query.

##### Parameters:

Name | Type | Description
--- | --- | ---
`sql` | string | the SQL to execute. For example `SELECT * FROM table ...`.
`params` | todo | these are the parameters to fill the statement.
`resultHandler` | function | the handler which is called once the operation completes. It will return a `ResultSet`.

Source:
  - vertx-sql-js/sql_connection.js, line 111

##### Returns:

Type
  SQLConnection

#### rollback(handler) → {SQLConnection}

Rolls back all changes made since the previous commit/rollback.

##### Parameters:

Name | Type | Description
--- | --- | ---
`handler` | function | the handler called when this operation completes.

Source:
  - vertx-sql-js/sql_connection.js, line 275

##### Returns:

Type
  SQLConnection

#### setAutoCommit(autoCommit, resultHandler) → {SQLConnection}

Sets the auto commit flag for this connection. True by default.

##### Parameters:

Name | Type | Description
--- | --- | ---
`autoCommit` | boolean | the autoCommit flag, true by default.
`resultHandler` | function | the handler which is called once this operation completes.

Source:
  - vertx-sql-js/sql_connection.js, line 44

##### Returns:

Type
  SQLConnection

#### setQueryTimeout(timeoutInSeconds) → {SQLConnection}

Sets a connection wide query timeout. It can be over written at any time and becomes active on the next query call.

##### Parameters:

Name | Type | Description
--- | --- | ---
`timeoutInSeconds` | number | the max amount of seconds the query can take to execute.

Source:
  - vertx-sql-js/sql_connection.js, line 298

##### Returns:

Type
  SQLConnection

#### setTransactionIsolation(isolation, handler) → {SQLConnection}

Attempts to change the transaction isolation level for this Connection object to the one given. The constants defined in the interface Connection are the possible transaction isolation levels.

##### Parameters:

Name | Type | Description
--- | --- | ---
`isolation` | Object | the level of isolation
`handler` | function | the handler called when this operation completes.

Source:
  - vertx-sql-js/sql_connection.js, line 316

##### Returns:

Type
  SQLConnection

#### update(sql, resultHandler) → {SQLConnection}

Executes the given SQL statement which may be an `INSERT`, `UPDATE`, or `DELETE` statement.

##### Parameters:

Name | Type | Description
--- | --- | ---
`sql` | string | the SQL to execute. For example `INSERT INTO table ...`
`resultHandler` | function | the handler which is called once the operation completes.

Source:
  - vertx-sql-js/sql_connection.js, line 134

##### Returns:

Type
  SQLConnection

#### updateWithParams(sql, params, resultHandler) → {SQLConnection}

Executes the given prepared statement which may be an `INSERT`, `UPDATE`, or `DELETE` statement with the given parameters

##### Parameters:

Name | Type | Description
--- | --- | ---
`sql` | string | the SQL to execute. For example `INSERT INTO table ...`
`params` | todo | these are the parameters to fill the statement.
`resultHandler` | function | the handler which is called once the operation completes.

Source:
  - vertx-sql-js/sql_connection.js, line 158

##### Returns:

Type
  SQLConnection