2014-01-30 40 views
1

请让我知道如何将数组插入到Sqlite表中。我传递2个数组作为参数。下面是代码:如何将数组插入Sqlite数据库

- (空)保存数据:(NSMutableArray的*)firstArray第二:(NSMutableArray的*)secondArray {

[self openDB]; 

NSString *createSQL = @"CREATE TABLE IF NOT EXISTS Table1" 
“(EID INTEGER PRIMARY KEY, Array1 TEXT, Array2 TEXT);"; 
char *errorMsg; 
if (sqlite3_exec (database, [createSQL UTF8String], 
        NULL, NULL, &errorMsg) != SQLITE_OK) 
{ 
    sqlite3_close(database); 
    NSAssert(0, @"Error creating table: %s", errorMsg); 
} 

    char *update = "INSERT OR REPLACE INTO Table1 (ID, Array1, Array2)" 
    "VALUES (?, ?, ?);"; 
    errorMsg=NULL; 
    sqlite3_stmt *stmt; 
    if (sqlite3_prepare_v2(database, update, -1, &stmt, nil) 
     == SQLITE_OK) { 

     Please let me know how to insert the data. 

     if (sqlite3_step(stmt) != SQLITE_DONE) 
      NSAssert(0, @"Error updating table: %s", errorMsg); 
     sqlite3_finalize(stmt); 

} 

}

+0

您面临什么困难?为什么不将数组保存在沙盒文件夹内的XML文件中? –

+0

我有我的价值firstArray和secondArray,因为它作为参数传递。但我不知道如何将这些值插入到表中。 – user2903572

回答

3

你有你在做什么多重问题,这似乎源于对SQLite的不熟悉。首先,sqlite不理解数组作为原始值,更不用说NSMutableArrays了。其次,您试图将参数中的值传递给参数,但您不在任何位置设置参数。我建议this book这应该让你更好地理解SQLite,或者通过sqlite.org的在线教程

0

插入数组, array1和array2作为复合主键