# CassStatement

### struct CassStatement

A statement object is an executable query. It represents either a regular (adhoc) statement or a prepared statement. It maintains the queries’ parameter values along with query options (consistency level, paging state, etc.)

**Note:** Parameters for regular queries are not supported by the binary protocol version 1. 

### Public Functions

### [CassStatement](#_CPPv413CassStatement) \*cass_statement_new(const char \*query, size_t parameter_count)

Creates a new query statement.

#### SEE ALSO
[cass_statement_free()](#struct_cass_statement_1aa32f29a76e0c2f5d9a381a9af7d3f719)

* **Parameters:**
  * **query** – **[in]** The query is copied into the statement object; the memory pointed to by this parameter can be freed after this call. 
  * **parameter_count** – **[in]** The number of bound parameters. 
* **Returns:**
  Returns a statement that must be freed.

### [CassStatement](#_CPPv413CassStatement) \*cass_statement_new_n(const char \*query, size_t query_length, size_t parameter_count)

Same as [cass_statement_new()](#struct_cass_statement_1a87a8e954fa8e6df9728b9e7e7eed1ee5), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_new()](#struct_cass_statement_1a87a8e954fa8e6df9728b9e7e7eed1ee5)

* **Parameters:**
  * **query** – **[in]** 
  * **query_length** – **[in]** 
  * **parameter_count** – **[in]** 
* **Returns:**
  same as [cass_statement_new()](#struct_cass_statement_1a87a8e954fa8e6df9728b9e7e7eed1ee5)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_reset_parameters([CassStatement](#_CPPv413CassStatement) \*statement, size_t count)

Clear and/or resize the statement’s parameters.

* **Parameters:**
  * **statement** – **[in]** 
  * **count** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### void cass_statement_free([CassStatement](#_CPPv413CassStatement) \*statement)

Frees a statement instance. Statements can be immediately freed after being prepared, executed or added to a batch.

* **Parameters:**
  **statement** – **[in]** 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_keyspace([CassStatement](#_CPPv413CassStatement) \*statement, const char \*keyspace)

Sets the statement’s keyspace. This is used for token-aware routing and when using protocol v5 or greater it also overrides the session’s current keyspace for the statement.

This is not necessary and will not work for bound statements, as the keyspace is determined by the prepared statement metadata.

**Warning:** This function is not yet implemented.

* **Parameters:**
  * **statement** – **[in]** 
  * **keyspace** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_keyspace_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*keyspace, size_t keyspace_length)

Same as [cass_statement_set_keyspace()](#struct_cass_statement_1a6481f39f257b69c955f5cbe077b13fe6), but with lengths for string parameters.

**Warning:** This function is not yet implemented.

#### SEE ALSO
[cass_statement_set_keyspace()](#struct_cass_statement_1a6481f39f257b69c955f5cbe077b13fe6)

* **Parameters:**
  * **statement** – **[in]** 
  * **keyspace** – **[in]** 
  * **keyspace_length** – **[in]** 
* **Returns:**
  same as [cass_statement_set_keyspace()](#struct_cass_statement_1a6481f39f257b69c955f5cbe077b13fe6)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_consistency([CassStatement](#_CPPv413CassStatement) \*statement, [CassConsistency](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassConsistency.md#_CPPv415CassConsistency) consistency)

Sets the statement’s consistency level.

**Default:** CASS_CONSISTENCY_LOCAL_ONE

* **Parameters:**
  * **statement** – **[in]** 
  * **consistency** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_serial_consistency([CassStatement](#_CPPv413CassStatement) \*statement, [CassConsistency](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassConsistency.md#_CPPv415CassConsistency) serial_consistency)

Sets the statement’s serial consistency level.

**Default:** Not set

* **Parameters:**
  * **statement** – **[in]** 
  * **serial_consistency** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_paging_size([CassStatement](#_CPPv413CassStatement) \*statement, int page_size)

Sets the statement’s page size.

**Default:** -1 (Disabled)

* **Parameters:**
  * **statement** – **[in]** 
  * **page_size** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_paging_state([CassStatement](#_CPPv413CassStatement) \*statement, const [CassResult](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassResult.md#_CPPv410CassResult) \*result)

Sets the statement’s paging state. This can be used to get the next page of data in a multi-page query.

* **Parameters:**
  * **statement** – **[in]** 
  * **result** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_paging_state_token([CassStatement](#_CPPv413CassStatement) \*statement, const char \*paging_state, size_t paging_state_size)

Sets the statement’s paging state. This can be used to get the next page of data in a multi-page query.

**Warning:** The paging state should not be exposed to or come from untrusted environments. The paging state could be spoofed and potentially used to gain access to other data.

#### SEE ALSO
cass_result_paging_state_token() 

* **Parameters:**
  * **statement** – **[in]** 
  * **paging_state** – **[in]** 
  * **paging_state_size** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred.

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_timestamp([CassStatement](#_CPPv413CassStatement) \*statement, [cass_int64_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int64_t) timestamp)

Sets the statement’s timestamp.

* **Parameters:**
  * **statement** – **[in]** 
  * **timestamp** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_request_timeout([CassStatement](#_CPPv413CassStatement) \*statement, [cass_uint64_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv413cass_uint64_t) timeout_ms)

Sets the statement’s timeout for waiting for a response from a node.

**Default:** Disabled (use the cluster-level request timeout)

#### SEE ALSO
cass_cluster_set_request_timeout() 

* **Parameters:**
  * **statement** – **[in]** 
  * **timeout_ms** – **[in]** Request timeout in milliseconds. Use 0 for no timeout or CASS_UINT64_MAX to disable (to use the cluster-level request timeout). 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred.

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_is_idempotent([CassStatement](#_CPPv413CassStatement) \*statement, [cass_bool_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_bool_t) is_idempotent)

Sets whether the statement is idempotent. Idempotent statements are able to be automatically retried after timeouts/errors and can be speculatively executed.

#### SEE ALSO
cass_cluster_set_constant_speculative_execution_policy() 

#### SEE ALSO
cass_execution_profile_set_constant_speculative_execution_policy() 

* **Parameters:**
  * **statement** – **[in]** 
  * **is_idempotent** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred.

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_retry_policy([CassStatement](#_CPPv413CassStatement) \*statement, [CassRetryPolicy](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassRetryPolicy.md#_CPPv415CassRetryPolicy) \*retry_policy)

Sets the statement’s retry policy.

* **Parameters:**
  * **statement** – **[in]** 
  * **retry_policy** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_custom_payload([CassStatement](#_CPPv413CassStatement) \*statement, const [CassCustomPayload](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassCustomPayload.md#_CPPv417CassCustomPayload) \*payload)

Sets the statement’s custom payload.

**Warning:** This function is not yet implemented.

* **Parameters:**
  * **statement** – **[in]** 
  * **payload** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_execution_profile([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name)

Sets the execution profile to execute the statement with.

**Note:** NULL or empty string will clear execution profile from statement

#### SEE ALSO
cass_cluster_set_execution_profile() 

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred.

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_execution_profile_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length)

Same as [cass_statement_set_execution_profile()](#struct_cass_statement_1ad27c3500514ca61051d1a938a276c889), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_set_execution_profile()](#struct_cass_statement_1ad27c3500514ca61051d1a938a276c889)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred.

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_tracing([CassStatement](#_CPPv413CassStatement) \*statement, [cass_bool_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_bool_t) enabled)

Sets whether the statement should use tracing.

* **Parameters:**
  * **statement** – **[in]** 
  * **enabled** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_host([CassStatement](#_CPPv413CassStatement) \*statement, const char \*host, int port)

Sets a specific host that should run the query.

In general, this should not be used, but it can be useful in the following situations:
* To query node-local tables such as system and virtual tables.
* To apply a sequence of schema changes where it makes sense for all the changes to be applied on a single node.

* **Parameters:**
  * **statement** – **[in]** 
  * **host** – **[in]** 
  * **port** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_host_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*host, size_t host_length, int port)

Same as [cass_statement_set_host()](#struct_cass_statement_1ad486e83fc8db911506b17bcd874c632a), but with lengths for string parameters.

* **Parameters:**
  * **statement** – **[in]** 
  * **host** – **[in]** 
  * **host_length** – **[in]** 
  * **port** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_host_inet([CassStatement](#_CPPv413CassStatement) \*statement, const [CassInet](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassInet.md#_CPPv48CassInet) \*host, int port)

Same as [cass_statement_set_host()](#struct_cass_statement_1ad486e83fc8db911506b17bcd874c632a), but with the `[CassInet](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassInet.md#struct_cass_inet)` type for the host instead of a string.

* **Parameters:**
  * **statement** – **[in]** 
  * **host** – **[in]** 
  * **port** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_set_node([CassStatement](#_CPPv413CassStatement) \*statement, const [CassNode](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassNode.md#_CPPv48CassNode) \*node)

Same as [cass_statement_set_host()](#struct_cass_statement_1ad486e83fc8db911506b17bcd874c632a), but using the `[CassNode](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassNode.md#struct_cass_node)` type. This can be used to re-query the same coordinator when used with the result of `cass_future_coordinator()`

#### SEE ALSO
cass_future_coordinator() 

* **Parameters:**
  * **statement** – 
  * **node** – 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred.

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_null([CassStatement](#_CPPv413CassStatement) \*statement, size_t index)

Binds null to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_null_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name)

Binds a null to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_null_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length)

Same as [cass_statement_bind_null_by_name()](#struct_cass_statement_1a4f1cd9bd8e521a333e475d0f6073d174), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_null_by_name()](#struct_cass_statement_1a4f1cd9bd8e521a333e475d0f6073d174)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_null_by_name()](#struct_cass_statement_1a4f1cd9bd8e521a333e475d0f6073d174)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int8([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, [cass_int8_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_int8_t) value)

Binds a “tinyint” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int8_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, [cass_int8_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_int8_t) value)

Binds a “tinyint” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int8_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, [cass_int8_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_int8_t) value)

Same as [cass_statement_bind_int8_by_name()](#struct_cass_statement_1a985aa5c2b147701533eee646c49ba11d), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_int8_by_name()](#struct_cass_statement_1a985aa5c2b147701533eee646c49ba11d)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_int8_by_name()](#struct_cass_statement_1a985aa5c2b147701533eee646c49ba11d)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int16([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, [cass_int16_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int16_t) value)

Binds an “smallint” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int16_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, [cass_int16_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int16_t) value)

Binds an “smallint” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int16_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, [cass_int16_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int16_t) value)

Same as [cass_statement_bind_int16_by_name()](#struct_cass_statement_1a16e20657f5db3f67dcae45953f7aec11), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_int16_by_name()](#struct_cass_statement_1a16e20657f5db3f67dcae45953f7aec11)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_int16_by_name()](#struct_cass_statement_1a16e20657f5db3f67dcae45953f7aec11)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int32([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) value)

Binds an “int” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int32_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) value)

Binds an “int” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int32_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) value)

Same as [cass_statement_bind_int32_by_name()](#struct_cass_statement_1a03913edf9981da1ffab2f9d7d0292472), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_int32_by_name()](#struct_cass_statement_1a03913edf9981da1ffab2f9d7d0292472)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_int32_by_name()](#struct_cass_statement_1a03913edf9981da1ffab2f9d7d0292472)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_uint32([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, [cass_uint32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv413cass_uint32_t) value)

Binds a “date” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_uint32_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, [cass_uint32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv413cass_uint32_t) value)

Binds a “date” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_uint32_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, [cass_uint32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv413cass_uint32_t) value)

Same as [cass_statement_bind_uint32_by_name()](#struct_cass_statement_1a38856813c6e8c1b593133eccf46e909d), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_uint32_by_name()](#struct_cass_statement_1a38856813c6e8c1b593133eccf46e909d)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_uint32_by_name()](#struct_cass_statement_1a38856813c6e8c1b593133eccf46e909d)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int64([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, [cass_int64_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int64_t) value)

Binds a “bigint”, “counter”, “timestamp” or “time” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int64_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, [cass_int64_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int64_t) value)

Binds a “bigint”, “counter”, “timestamp” or “time” to all values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_int64_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, [cass_int64_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int64_t) value)

Same as [cass_statement_bind_int64_by_name()](#struct_cass_statement_1a2f02492c60431097a9465c560d9f1c4a), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_int64_by_name()](#struct_cass_statement_1a2f02492c60431097a9465c560d9f1c4a)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  same as cass_statement_bind_int64_by_name(0

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_float([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, [cass_float_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_float_t) value)

Binds a “float” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_float_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, [cass_float_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_float_t) value)

Binds a “float” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_float_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, [cass_float_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_float_t) value)

Same as [cass_statement_bind_float_by_name()](#struct_cass_statement_1a89eb22e9b735e16c072e90d8b0060173), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_float_by_name()](#struct_cass_statement_1a89eb22e9b735e16c072e90d8b0060173)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_float_by_name()](#struct_cass_statement_1a89eb22e9b735e16c072e90d8b0060173)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_double([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, [cass_double_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv413cass_double_t) value)

Binds a “double” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_double_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, [cass_double_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv413cass_double_t) value)

Binds a “double” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_double_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, [cass_double_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv413cass_double_t) value)

Same as [cass_statement_bind_double_by_name()](#struct_cass_statement_1a9eccf3514b958cd04d896ea21b56d44c), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_double_by_name()](#struct_cass_statement_1a9eccf3514b958cd04d896ea21b56d44c)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_double_by_name()](#struct_cass_statement_1a9eccf3514b958cd04d896ea21b56d44c)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_bool([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, [cass_bool_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_bool_t) value)

Binds a “boolean” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_bool_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, [cass_bool_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_bool_t) value)

Binds a “boolean” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_bool_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, [cass_bool_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_bool_t) value)

Same as [cass_statement_bind_bool_by_name()](#struct_cass_statement_1a1079c16515d1f8b8164b828024a4b8b9), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_bool_by_name()](#struct_cass_statement_1a1079c16515d1f8b8164b828024a4b8b9)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_bool_by_name()](#struct_cass_statement_1a1079c16515d1f8b8164b828024a4b8b9)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_string([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, const char \*value)

Binds an “ascii”, “text” or “varchar” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** The value is copied into the statement object; the memory pointed to by this parameter can be freed after this call. 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_string_n([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, const char \*value, size_t value_length)

Same as [cass_statement_bind_string()](#struct_cass_statement_1a5d7096dd878e2bb106e99df4e0e5740b), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_string()](#struct_cass_statement_1a5d7096dd878e2bb106e99df4e0e5740b)

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
  * **value_length** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_string()](#struct_cass_statement_1a5d7096dd878e2bb106e99df4e0e5740b)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_string_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, const char \*value)

Binds an “ascii”, “text” or “varchar” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** The value is copied into the statement object; the memory pointed to by this parameter can be freed after this call. 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_string_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, const char \*value, size_t value_length)

Same as [cass_statement_bind_string_by_name()](#struct_cass_statement_1aa4cb95acf74d4506d7eada494481f463), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_string_by_name()](#struct_cass_statement_1aa4cb95acf74d4506d7eada494481f463)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
  * **value_length** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_string_by_name()](#struct_cass_statement_1aa4cb95acf74d4506d7eada494481f463)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_bytes([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*value, size_t value_size)

Binds a “blob”, “varint” or “custom” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** The value is copied into the statement object; the memory pointed to by this parameter can be freed after this call. 
  * **value_size** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_bytes_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*value, size_t value_size)

Binds a “blob”, “varint” or “custom” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** The value is copied into the statement object; the memory pointed to by this parameter can be freed after this call. 
  * **value_size** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_bytes_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*value, size_t value_size)

Same as [cass_statement_bind_bytes_by_name()](#struct_cass_statement_1a832a73c8b400864a0f6beecea725d85b), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_bytes_by_name()](#struct_cass_statement_1a832a73c8b400864a0f6beecea725d85b)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
  * **value_size** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_bytes_by_name()](#struct_cass_statement_1a832a73c8b400864a0f6beecea725d85b)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_uuid([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, [CassUuid](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassUuid.md#_CPPv48CassUuid) value)

Binds a “uuid” or “timeuuid” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_uuid_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, [CassUuid](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassUuid.md#_CPPv48CassUuid) value)

Binds a “uuid” or “timeuuid” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_uuid_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, [CassUuid](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassUuid.md#_CPPv48CassUuid) value)

Same as [cass_statement_bind_uuid_by_name()](#struct_cass_statement_1a70db818829dc85be9451d63394c1ab89), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_uuid_by_name()](#struct_cass_statement_1a70db818829dc85be9451d63394c1ab89)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_uuid_by_name()](#struct_cass_statement_1a70db818829dc85be9451d63394c1ab89)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_inet([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, [CassInet](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassInet.md#_CPPv48CassInet) value)

Binds an “inet” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_inet_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, [CassInet](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassInet.md#_CPPv48CassInet) value)

Binds an “inet” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_inet_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, [CassInet](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassInet.md#_CPPv48CassInet) value)

Same as [cass_statement_bind_inet_by_name()](#struct_cass_statement_1a74f18c548f357595a181df321940b3f4), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_inet_by_name()](#struct_cass_statement_1a74f18c548f357595a181df321940b3f4)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_inet_by_name()](#struct_cass_statement_1a74f18c548f357595a181df321940b3f4)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_decimal([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*varint, size_t varint_size, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) scale)

Bind a “decimal” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **varint** – **[in]** The value is copied into the statement object; the memory pointed to by this parameter can be freed after this call. 
  * **varint_size** – **[in]** 
  * **scale** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_decimal_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*varint, size_t varint_size, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) scale)

Binds a “decimal” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **varint** – **[in]** The value is copied into the statement object; the memory pointed to by this parameter can be freed after this call. 
  * **varint_size** – **[in]** 
  * **scale** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_decimal_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*varint, size_t varint_size, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) scale)

Same as [cass_statement_bind_decimal_by_name()](#struct_cass_statement_1aeb07d0029879ace27804eac279573947), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_decimal_by_name()](#struct_cass_statement_1aeb07d0029879ace27804eac279573947)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **varint** – **[in]** 
  * **varint_size** – **[in]** 
  * **scale** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_decimal_by_name()](#struct_cass_statement_1aeb07d0029879ace27804eac279573947)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_duration([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) months, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) days, [cass_int64_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int64_t) nanos)

Binds a “duration” to a query or bound statement at the specified index.

**Requires Apache Cassandra:** 3.10+

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **months** – **[in]** 
  * **days** – **[in]** 
  * **nanos** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_duration_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) months, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) days, [cass_int64_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int64_t) nanos)

Binds a “duration” to all the values with the specified name.

**Requires Apache Cassandra:** 3.10+

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **months** – **[in]** 
  * **days** – **[in]** 
  * **nanos** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_duration_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) months, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) days, [cass_int64_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int64_t) nanos)

Same as [cass_statement_bind_duration_by_name()](#struct_cass_statement_1a282e72be838600f81e6d62bcf23dce74), but with lengths for string parameters.

**Requires Apache Cassandra:** 3.10+

#### SEE ALSO
[cass_statement_bind_duration_by_name()](#struct_cass_statement_1a282e72be838600f81e6d62bcf23dce74)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **months** – **[in]** 
  * **days** – **[in]** 
  * **nanos** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_duration_by_name()](#struct_cass_statement_1a282e72be838600f81e6d62bcf23dce74)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_collection([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, const [CassCollection](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassCollection.md#_CPPv414CassCollection) \*collection)

Bind a “list”, “map” or “set” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **collection** – **[in]** The collection can be freed after this call. 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_collection_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, const [CassCollection](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassCollection.md#_CPPv414CassCollection) \*collection)

Bind a “list”, “map” or “set” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **collection** – **[in]** The collection can be freed after this call. 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_collection_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, const [CassCollection](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassCollection.md#_CPPv414CassCollection) \*collection)

Same as [cass_statement_bind_collection_by_name()](#struct_cass_statement_1a611ab006a841c5200b1386a777928305), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_collection_by_name()](#struct_cass_statement_1a611ab006a841c5200b1386a777928305)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **collection** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_collection_by_name()](#struct_cass_statement_1a611ab006a841c5200b1386a777928305)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_tuple([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, const [CassTuple](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassTuple.md#_CPPv49CassTuple) \*tuple)

Bind a “tuple” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **tuple** – **[in]** The tuple can be freed after this call. 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_tuple_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, const [CassTuple](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassTuple.md#_CPPv49CassTuple) \*tuple)

Bind a “tuple” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **tuple** – **[in]** The tuple can be freed after this call. 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_tuple_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, const [CassTuple](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassTuple.md#_CPPv49CassTuple) \*tuple)

Same as [cass_statement_bind_tuple_by_name()](#struct_cass_statement_1a6f204f93665f29d873c8b58e1fd06f07), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_tuple_by_name()](#struct_cass_statement_1a6f204f93665f29d873c8b58e1fd06f07)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **tuple** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_tuple_by_name()](#struct_cass_statement_1a6f204f93665f29d873c8b58e1fd06f07)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_user_type([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, const [CassUserType](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassUserType.md#_CPPv412CassUserType) \*user_type)

Bind a user defined type to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **user_type** – **[in]** The user type can be freed after this call. 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_user_type_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, const [CassUserType](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassUserType.md#_CPPv412CassUserType) \*user_type)

Bind a user defined type to a query or bound statement with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **user_type** – **[in]** The user type can be freed after this call. 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_user_type_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, const [CassUserType](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassUserType.md#_CPPv412CassUserType) \*user_type)

Same as [cass_statement_bind_user_type_by_name()](#struct_cass_statement_1a208f3d006223d8434eccadd466057462), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_collection_by_name()](#struct_cass_statement_1a611ab006a841c5200b1386a777928305)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **user_type** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_user_type_by_name()](#struct_cass_statement_1a208f3d006223d8434eccadd466057462)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_custom([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, const char \*class_name, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*value, size_t value_size)

Binds a “custom” to a query or bound statement at the specified index.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **class_name** – **[in]** 
  * **value** – **[in]** The value is copied into the statement object; the memory pointed to by this parameter can be freed after this call. 
  * **value_size** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_custom_n([CassStatement](#_CPPv413CassStatement) \*statement, size_t index, const char \*class_name, size_t class_name_length, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*value, size_t value_size)

Same as [cass_statement_bind_custom()](#struct_cass_statement_1aeea73c27d6bf0e4f9b849cbf1990f460), but with lengths for string parameters.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
  * **class_name** – **[in]** 
  * **class_name_length** – **[in]** 
  * **value** – **[in]** The value is copied into the statement object; the memory pointed to by this parameter can be freed after this call. 
  * **value_size** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_custom_by_name([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, const char \*class_name, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*value, size_t value_size)

Binds a “custom” to all the values with the specified name.

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **class_name** – **[in]** 
  * **value** – **[in]** The value is copied into the statement object; the memory pointed to by this parameter can be freed after this call. 
  * **value_size** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_bind_custom_by_name_n([CassStatement](#_CPPv413CassStatement) \*statement, const char \*name, size_t name_length, const char \*class_name, size_t class_name_length, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*value, size_t value_size)

Same as [cass_statement_bind_custom_by_name()](#struct_cass_statement_1ac1a2b7364fe4be4bed747d1d9115aeee), but with lengths for string parameters.

#### SEE ALSO
[cass_statement_bind_custom_by_name()](#struct_cass_statement_1ac1a2b7364fe4be4bed747d1d9115aeee)

* **Parameters:**
  * **statement** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
  * **class_name** – **[in]** 
  * **class_name_length** – **[in]** 
  * **value** – **[in]** 
  * **value_size** – **[in]** 
* **Returns:**
  same as [cass_statement_bind_custom_by_name()](#struct_cass_statement_1ac1a2b7364fe4be4bed747d1d9115aeee)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_statement_add_key_index([CassStatement](#_CPPv413CassStatement) \*statement, size_t index)

Adds a key index specifier to this a statement. When using token-aware routing, this can be used to tell the driver which parameters within a non-prepared, parameterized statement are part of the partition key.

Use consecutive calls for composite partition keys.

This is not necessary for prepared statements, as the key parameters are determined in the metadata processed in the prepare phase.

* **Parameters:**
  * **statement** – **[in]** 
  * **index** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred.
