# 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 32

### Methods

#### batch(sqlStatements, handler) → {SQLConnection}

Batch simple SQL strings and execute the batch where the async result contains a array of Integers.

##### Parameters:

Name | Type | Description
--- | --- | ---
`sqlStatements` | Array.<string> | sql statement
`handler` | function | the result handler

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

##### Returns:

Type
  SQLConnection

#### batchCallableWithParams(sqlStatement, inArgs, outArgs, handler) → {SQLConnection}

Batch a callable statement with all entries from the args list. Each entry is a batch. The size of the lists inArgs and outArgs MUST be the equal. The operation completes with the execution of the batch where the async result contains a array of Integers.

##### Parameters:

Name | Type | Description
--- | --- | ---
`sqlStatement` | string | sql statement
`inArgs` | Array.<todo> | the callable statement input arguments
`outArgs` | Array.<todo> | the callable statement output arguments
`handler` | function | the result handler

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

##### Returns:

Type
  SQLConnection

#### batchWithParams(sqlStatement, args, handler) → {SQLConnection}

Batch a prepared statement with all entries from the args list. Each entry is a batch. The operation completes with the execution of the batch where the async result contains a array of Integers.

##### Parameters:

Name | Type | Description
--- | --- | ---
`sqlStatement` | string | sql statement
`args` | Array.<todo> | the prepared statement arguments
`handler` | function | the result handler

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

##### Returns:

Type
  SQLConnection

#### 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 226

##### 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 258

##### 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 278

#### 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 300

##### 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 67

##### 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 455

##### 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 89

##### Returns:

Type
  SQLConnection

#### queryStream(sql, handler) → {SQLConnection}

Executes the given SQL `SELECT` statement which returns the results of the query as a read stream.

##### Parameters:

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

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

##### Returns:

Type
  SQLConnection

#### queryStreamWithParams(sql, params, handler) → {SQLConnection}

Executes the given SQL `SELECT` statement which returns the results of the query as a read stream.

##### 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.
`handler` | function | the handler which is called once the operation completes. It will return a `SQLRowStream`.

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

##### 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 134

##### 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 321

##### 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 45

##### 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 344

##### 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 434

##### 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 180

##### 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 204

##### Returns:

Type
  SQLConnection