--- sidebar_position: 6 description: Add rows and other functions to work with SQLite in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, SQLite] --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; # Add rows Adds new rows to the table `Function AddRecords(Val Table, Val DataArray, Val Transaction = True, Val Connection = "") Export` | Parameter | CLI option | Type | Required | Description | |-|-|-|-|-| | Table | --table | String | ✔ | Table name | | DataArray | --rows | Array of Structure | ✔ | An array of string data structures: Key > field, Value > field value | | Transaction | --trn | Boolean | ✖ | True > adding records to transactions with rollback on error | | Connection | --db | String, Arbitrary | ✖ | Existing connection or database path | Returns: Map Of KeyAndValue - Result of query execution
:::tip Binary data can also be transferred as a structure `{'blob':File path}` :::
```bsl title="1C:Enterprise/OneScript code example" Image = "https://hut.openintegrations.dev/test_data/picture.jpg"; OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData PictureFile = GetTempFileName("png"); Image.Write(PictureFile); // PictureFile - File to disk Base = "C:\Users\bayse\AppData\Local\Temp\v8_CED4_274.sqlite"; Table = "test"; DataArray = New Array; RowStructure2 = New Structure; RowStructure2.Insert("name" , "Vitaly"); // TEXT RowStructure2.Insert("age" , 25); // INTEGER RowStructure2.Insert("salary" , 1000.12); // REAL RowStructure2.Insert("is_active" , True); // BOOL RowStructure2.Insert("created_at", OPI_Tools.GetCurrentDate()); // DATETIME RowStructure2.Insert("data" , New Structure("blob", Image)); // BLOB RowStrucutre1 = New Structure; RowStrucutre1.Insert("name" , "Lesha"); // TEXT RowStrucutre1.Insert("age" , 20); // INTEGER RowStrucutre1.Insert("salary" , 200.20); // REAL RowStrucutre1.Insert("is_active" , False); // BOOL RowStrucutre1.Insert("created_at", OPI_Tools.GetCurrentDate()); // DATETIME RowStrucutre1.Insert("data" , New Structure("blob", PictureFile)); // BLOB DataArray.Add(RowStructure2); DataArray.Add(RowStrucutre1); Result = OPI_SQLite.AddRecords(Table, DataArray, , Base); ``` ```bash # JSON data can also be passed as a path to a .json file oint sqlite AddRecords \ --table "test1" \ --rows "{'[An obscure column]':'yo'}" \ --db "/tmp/irt1oajf.wt5.sqlite" ``` ```batch :: JSON data can also be passed as a path to a .json file oint sqlite AddRecords ^ --table "test1" ^ --rows "{'[An obscure column]':'yo'}" ^ --db "/tmp/irt1oajf.wt5.sqlite" ``` ```json title="Result" { "commit": { "result": true }, "result": true, "rows": 2, "errors": [] } ```