我正在使用 QR 码并在扫描后获取用户名、事件标题和票证代码。我需要在三个不同的字符串中分别获取这些值,以便我可以将它们保存在 sqlite 中。我只想知道如何进行这种分离,节省是我能做的。提前致谢。
问问题
87 次
2 回答
1
- (void)saveData {
sqlite3_stmt *statement;
const char *dbpath = [databasePath UTF8String];
if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
{
NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO CONTACTS (name, address, phone) VALUES (\"%@\", \"%@\", \"%@\")", @"NameString", @"Address", @"Phone"];
const char *insert_stmt = [insertSQL UTF8String];
sqlite3_prepare_v2(contactDB, insert_stmt, -1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_DONE)
{
NSLog(@"Success");
} else {
NSLog(@"Failed");
}
sqlite3_finalize(statement);
sqlite3_close(contactDB);
}
}
注意 如果您发布您获得的字符串类型,我将添加您必须如何拆分它。以下是如何拆分的示例
NSArray arrResult = [str componentsSeparatedByString:@"-"];
或按字符集
NSString* str = @"A string with newlines in it";
NSArray *arrTemp = [str componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
于 2012-10-08T06:24:26.470 回答
0
您可以使用componentsSeparatedByString
NSString *str = @"userName:Password:etc";
NSArray* parts1 = [str componentsSeparatedByString:@":"];
NSLog(@" [[parts1 objectAtIndex:0] integerValue]=%d", [[parts1 objectAtIndex:0] integerValue]);
//the output will be: username for index 0, and so on
于 2012-10-08T06:16:54.910 回答