1

私はiPhoneアプリケーションの開発者ですが、データベースの概念を理解しました。データベースからすべてのデータを印刷したい。しかし、どうすればすべてのデータを印刷できるのかわかりません。ここに私はいくつかのコードを害します。すべてのデータを印刷する正しい方向を教えてください。

たとえば、SQLでは、すべてのデータを「select*fromcontact5;」として出力します。この文字列を起動します。iPhoneコーディングでできますか?

-(IBAction)PrintData:(id)sender
{

    NSLog(@"Button Pressed");
    sqlite3_stmt    *statement1;



    NSString *querySQL=@"SELECT * FROM CONTACT5";


    const char *query_stmt = [querySQL UTF8String];


    sqlite3_prepare_v2(contactDB, query_stmt, -1, &statement1, NULL);

    while (sqlite3_step(statement1) == SQLITE_ROW)
    {

        NSLog(@"Enter in  the denger zone");
        NSString *idField = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement1, 0)];

        NSString *addressField = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement1, 2)];

        NSString *NameField = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement1, 1)];

        NSString *phoneFiels = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement1, 3)];

        NSLog(@"ID is=%@",idField);

        NSLog(@"Name is=%@",NameField);
        NSLog(@"Address is=%@",addressField);
        NSLog(@"Phone No. is=%@",phoneFiels);


        [idField release];
        [NameField release];
        [phoneFiels release];
        [addressField release];
    }
    sqlite3_finalize(statement1);
    sqlite3_close(contactDB);
}

前もって感謝します。

4

1 に答える 1

0

NSMutableDictionary を使用してデータを保存しているものをいくつか共有しています。そのコードを使用してデータを簡単に印刷できます。

if(sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK)
    {
        const char *sql = "Select * from CalculateTime";

        sqlite3_stmt *insertStmt;

        if(sqlite3_prepare_v2(database, sql, -1, &insertStmt, NULL) != SQLITE_OK)
            NSAssert1(0,@"Error: Failed to prepare statement with message '%s'.",sqlite3_errmsg(database));

        arrayCountry = nil;
        arrayCountry = [[NSMutableArray alloc]init];

        arrayCity = nil;
        arrayCity = [[NSMutableArray alloc]init];


        arrayFlag = nil;
        arrayFlag = [[NSMutableArray alloc]init];

        arrayZone = nil;
        arrayZone = [[NSMutableArray alloc]init];

        NSString *str2;

        while(sqlite3_step(insertStmt)==SQLITE_ROW)
        {

            char *row;

            row = (char*)sqlite3_column_text(insertStmt, 0);
            if(row != NULL)
            {
                str2 = [NSString stringWithUTF8String:row];
                [arrayCountry addObject:str2];
            }

            row = (char*)sqlite3_column_text(insertStmt, 1);
            if(row != NULL)
            {
                str2 = [NSString stringWithUTF8String:row];
                [arrayCity addObject:str2];
            }


            row = (char*)sqlite3_column_text(insertStmt, 2);
            if(row != NULL)
            {
                str2 = [NSString stringWithUTF8String:row];
                [arrayFlag addObject:str2];
            }

            row = (char*)sqlite3_column_text(insertStmt, 3);
            if(row != NULL)
            {
                str2 = [NSString stringWithUTF8String:row];
                [arrayZone addObject:str2];
            }

        }
    }

これらの辞書データにアクセスして、どこでも印刷できます。

于 2012-05-28T09:38:58.280 に答える