Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Open two sqlite database and execute query in iphone

Tags:

sqlite

ios

iphone

Here i want to execute query using two database and copy data from table of database1 to another database2. here i am able to open one database but getting problem in openning other database. Thanks in advance to all.

CurrentStatus *status = [CurrentStatus sharedCurrentStatus];
    sqlite3 *database;
    sqlite3 *database1;
    sqlite3_stmt *statement;
    sqlite3_stmt *statement1;
    NSString *dbPath = [status.applicationDocumentDirectory stringByAppendingPathComponent:@"database.sqlite"];
    NSString *dbPath1 = [status.applicationDocumentDirectory stringByAppendingPathComponent:@"database1.sqlite"];

    if ((sqlite3_open_v2([dbPath UTF8String], &database, SQLITE_OPEN_READWRITE , NULL) == SQLITE_OK) && (sqlite3_open_v2([dbPath1 UTF8String], &database1, SQLITE_OPEN_READWRITE , NULL) == SQLITE_OK)) {

        NSString *sqlStr = [[NSString alloc] initWithFormat:@"select * from Login" ];
         NSString *sql = [[NSString alloc] initWithString:sqlStr];

                if ((sqlite3_prepare_v2(database, [sql UTF8String], -1, &statement, NULL) == SQLITE_OK)) {
                    NSLog(@"DB prepare_v2 Opening successfully");
                    if (sqlite3_step(statement) == SQLITE_ROW) {

                    }
                    else
                    {

                    }
                    sqlite3_finalize(statement);
        NSLog(@"DB Opening successfully");

               sqlite3_close(database);
    }else
    {
        NSLog(@"else DB Opening successfully");
    }
        sqlite3_close(database);
    }
like image 601
Indra Avatar asked Feb 26 '26 05:02

Indra


1 Answers

Try something similar to achieve your task ..

First, you are opening the "DB1" database, and then execute the following statement:

ATTACH DATABASE "2ndDB.db" AS 2ndDB;

After that, you can use the CREATE TABLE syntax:

CREATE TABLE newTableInDB1 AS SELECT * FROM 2ndDB.oldTableInMyOtherDB;

This will "copy" the data over to your new database

like image 175
Kumar KL Avatar answered Feb 28 '26 18:02

Kumar KL