2014-01-30 3 views
1

Пожалуйста, дайте мне знать, как вставлять массивы в таблицу Sqlite. Я передаю в качестве параметра два массива. Вот код:Как вставить массивы в базу данных Sqlite

- (Недействительными) SaveData: (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

Чтобы вставить массив, вы должны использовать одно для многих отношений , поэтому вам нужно создать таблицы contans для ex id и array1 и array2 как составной первичный ключ

Смежные вопросы