1

QRコードを使用しており、スキャン後にユーザー名、イベントタイトル、チケットコードを取得しています。これらの値を 3 つの異なる文字列で個別に取得して、sqlite に保存できるようにする必要があります。この分離を行う方法だけを知りたいのですが、保存は私にできることです。前もって感謝します。

4

2 に答える 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 に答える