1# oh_rdb_transaction.h 2 3 4## Overview 5 6Defines APIs and enums related to database transactions. 7 8**File to include**: <database/rdb/oh_rdb_transaction.h> 9 10**Library**: libnative_rdb_ndk.z.so 11 12**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core 13 14**Since**: 18 15 16**Related module**: [RDB](_r_d_b.md) 17 18 19## Summary 20 21 22### Types 23 24| Name| Description| 25| -------- | -------- | 26| typedef enum [OH_RDB_TransType](_r_d_b.md#oh_rdb_transtype) [OH_RDB_TransType](_r_d_b.md#oh_rdb_transtype) | Defines an enum for transaction types.| 27| typedef struct [OH_RDB_TransOptions](_r_d_b.md#oh_rdb_transoptions) [OH_RDB_TransOptions](_r_d_b.md#oh_rdb_transoptions) | Defines the [OH_RDB_TransOptions](_r_d_b.md#oh_rdb_transoptions) struct.| 28| typedef struct [OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) [OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) | Defines the [OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) struct.| 29 30 31### Enums 32 33| Name| Description| 34| -------- | -------- | 35| [OH_RDB_TransType](_r_d_b.md#oh_rdb_transtype-1) { RDB_TRANS_DEFERRED = 0, RDB_TRANS_IMMEDIATE, RDB_TRANS_EXCLUSIVE, RDB_TRANS_BUTT } | Enumerates the transaction types of an RDB store.| 36 37 38### Functions 39 40| Name| Description| 41| -------- | -------- | 42| [OH_RDB_TransOptions](_r_d_b.md#oh_rdb_transoptions) \* [OH_RdbTrans_CreateOptions](_r_d_b.md#oh_rdbtrans_createoptions) (void) | Create a transaction configuration object.| 43| int [OH_RdbTrans_DestroyOptions](_r_d_b.md#oh_rdbtrans_destroyoptions) ([OH_RDB_TransOptions](_r_d_b.md#oh_rdb_transoptions) \*opitons) | Destroys a transaction configuration instance.| 44| int [OH_RdbTransOption_SetType](_r_d_b.md#oh_rdbtransoption_settype) ([OH_RDB_TransOptions](_r_d_b.md#oh_rdb_transoptions) \*opitons, [OH_RDB_TransType](_r_d_b.md#oh_rdb_transtype) type) | Sets the transaction type of an RDB store.| 45| int [OH_RdbTrans_Commit](_r_d_b.md#oh_rdbtrans_commit) ([OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) \*trans) | Commits a transaction.| 46| int [OH_RdbTrans_Rollback](_r_d_b.md#oh_rdbtrans_rollback) ([OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) \*trans) | Rolls back a transaction.| 47| int [OH_RdbTrans_Insert](_r_d_b.md#oh_rdbtrans_insert) ([OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) \*trans, const char \*table, const [OH_VBucket](_o_h___v_bucket.md) \*row, int64_t \*rowId) | Inserts a row of data into a table.| 48| int [OH_RdbTrans_BatchInsert](_r_d_b.md#oh_rdbtrans_batchinsert) ([OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) \*trans, const char \*table, const [OH_Data_VBuckets](_r_d_b.md#oh_data_vbuckets) \*rows, [Rdb_ConflictResolution](_r_d_b.md#rdb_conflictresolution) resolution, int64_t \*changes) | Inserts a batch of data into a table. | 49| int [OH_RdbTrans_Update](_r_d_b.md#oh_rdbtrans_update) ([OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) \*trans, const [OH_VBucket](_o_h___v_bucket.md) \*row, const [OH_Predicates](_o_h___predicates.md) \*predicates, int64_t \*changes) | Updates data in an RDB store based on specified conditions.| 50| int [OH_RdbTrans_Delete](_r_d_b.md#oh_rdbtrans_delete) ([OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) \*trans, const [OH_Predicates](_o_h___predicates.md) \*predicates, int64_t \*changes) | Deletes data from the database based on the specified conditions.| 51| [OH_Cursor](_o_h___cursor.md) \* [OH_RdbTrans_Query](_r_d_b.md#oh_rdbtrans_query) ([OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) \*trans, const [OH_Predicates](_o_h___predicates.md) \*predicates, const char \*columns[], int len) | Queries data in the database based on specified conditions.| 52| [OH_Cursor](_o_h___cursor.md) \* [OH_RdbTrans_QuerySql](_r_d_b.md#oh_rdbtrans_querysql) ([OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) \*trans, const char \*sql, const [OH_Data_Values](_r_d_b.md#oh_data_values) \*args) | Queries data in the database using the specified SQL statement.| 53| int [OH_RdbTrans_Execute](_r_d_b.md#oh_rdbtrans_execute) ([OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) \*trans, const char \*sql, const [OH_Data_Values](_r_d_b.md#oh_data_values) \*args, [OH_Data_Value](_r_d_b.md#oh_data_value) \*\*result) | Executes an SQL statement that contains specified parameters.| 54| int [OH_RdbTrans_Destroy](_r_d_b.md#oh_rdbtrans_destroy) ([OH_Rdb_Transaction](_r_d_b.md#oh_rdb_transaction) \*trans) | Destroys a transaction object.| 55