How to write an array to sqlite database for Objective-C?

I took the data from the database into an array, now I want them to send them back to the database using the insert request.

How can I insert an array of data into a database?

+3
source share
2 answers

Inserting into a database is very different from reading from it. You are not saying what the structure of your array is, but here is some skeletal code that you have to adapt to your needs:

// Assuming you have the sqlite database opened already
// sqlite3 *sqldb = ...;

// Also assuming you have an array of MyItems holding your data
// NSMutableArray *items = ...;

sqlite3_stmt *insert_statement;

// Prepare the insert statement
const char*sql = "INSERT INTO mytable (field1, field2, field3) VALUES(?,?,?)";
sqlite3_prepare_v2(sqldb, sql, -1, &insert_statement, NULL);

// Iterate over an array of dictionaries
for (MyItem *item in items) {

    // Bind variables - assumed to all be integers
    sqlite3_bind_int(insert_statement, 1, item.field1);
    sqlite3_bind_int(insert_statement, 2, item.field2);
    sqlite3_bind_int(insert_statement, 3, item.field3);

    // Execute the insert
    if (sqlite3_step(insert_statement) != SQLITE_DONE) {
        NSLog(@"Insert failed: %s", sqlite3_errmsg(sqldb));
    }

    // Reset the statement
    sqlite3_reset(insert_statement);
}

// release the statement
sqlite3_finalize(insert_statement);
+2
source

Iterate the contents of the array and create a query INSERT.

0
source

Source: https://habr.com/ru/post/1736764/


All Articles