Sunny iOS で sqlite にデータを挿入する方法を見つけるために私が取り組んでいるのは 2 日間です。最初にすべきことは、データを保存する場所を SQLite に指示することです。デフォルトでは、携帯電話でアプリを実行すると、sqlite ファイルが読み取り専用ルートに配置されます。それを解決するには、これを行う必要があります:
-(NSString *)GetDocumentDirectory{
fileMgr = [NSFileManager defaultManager];
homeDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
return homeDir;
}
次にデータを挿入したい場合は、どの fileMgr でNSFileManager
、homeDir がNSString
最初の行である SQLite ルートを与える必要がありsqlite3_open
ます。データの挿入を開始するかどうかを確認します。
-(void)InsertRecords:(NSMutableString *)myData{
NSString *dbPath = [self.GetDocumentDirectory stringByAppendingPathComponent:@"YOUR SQLITE FILE NAME.sqlite"];
const char *dbpath = [dbPath UTF8String];
sqlite3 *contactDB;
sqlite3_stmt *statement;
if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
{
NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO tableName (tableColumn) VALUES (\"%@\")", myData];
const char *insert_stmt = [insertSQL UTF8String];
sqlite3_prepare_v2(contactDB, insert_stmt, -1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_DONE)
{
sqlite3_bind_text(statement, 1, [myData UTF8String], -1, SQLITE_TRANSIENT);
}
else {
NSLog(@"error");
}
sqlite3_finalize(statement);
sqlite3_close(contactDB);
}
}
それが役に立てば幸い :)