Ios 如何将数组插入Sqlite数据库
请告诉我如何将数组插入Sqlite表。我将传递2个数组作为参数。代码如下: -(void)saveData:(NSMutableArray*)第一个数组第二个:(NSMutableArray*)第二个数组{Ios 如何将数组插入Sqlite数据库,ios,objective-c,arrays,sqlite,nsmutablearray,Ios,Objective C,Arrays,Sqlite,Nsmutablearray,请告诉我如何将数组插入Sqlite表。我将传递2个数组作为参数。代码如下: -(void)saveData:(NSMutableArray*)第一个数组第二个:(NSMutableArray*)第二个数组{ [self openDB]; NSString *createSQL = @"CREATE TABLE IF NOT EXISTS Table1" “(EID INTEGER PRIMARY KEY, Array1 TEXT, Array2 TEXT);"; char *errorMsg;
[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);
}
}您在所做的工作中遇到了多个问题,这似乎是由于不熟悉SQLite造成的。首先,sqlite不将数组理解为基本值,更不用说NSMutableArray了。第二,您试图将值作为参数传入,但没有在任何地方设置参数。我建议您使用哪种方法来更好地理解SQLite,或者浏览SQLite.org上的在线教程来插入数组,您必须使用一对多关系
因此,您需要为exid和array1以及array2创建表contan作为复合主键JSON1扩展为管理(JSON)数组提供基本支持。它需要 SQLite版本3.9.0(2015-10-14)。有关详细信息,请参阅:
您面临什么困难?为什么不将数组保存在沙盒文件夹中的XML文件中?我的值作为参数传递到firstArray和secondArray中。但我不知道如何将这些值插入表中。