How to get a list of column names on Sqlite3 database?

后端 未结 18 1393
半阙折子戏
半阙折子戏 2020-11-27 08:48

I want to migrate my iPhone app to a new database version. Since I don\'t have some version saved, I need to check if certain column names exist.

This Stackoverflow

18条回答
  •  我在风中等你
    2020-11-27 09:29

    Maybe you just want to print the table headers on the console. This is my code: (for each table)

        // ------------------ show header ----------------
    
    
        char sqlite_stmt_showHeader[1000];
        snprintf(sqlite_stmt_showHeader, 1000, "%s%s", "SELECT * FROM ", TABLE_NAME_STRING UTF8String]);
    
        sqlite3_stmt* statement_showHeader;
        sqlite3_prepare_v2(DATABASE, sqlite_stmt_showHeader, -1, &statement_showHeader, NULL);
    
        int headerColumnSize = sqlite3_column_count(statement_showHeader);
    
        NSString* headerRow = @"|";
    
        for (int j = 0; j < headerColumnSize; j++) {
            NSString* headerColumnContent = [[NSString alloc] initWithUTF8String:(const char*)sqlite3_column_name(statement_showHeader, j)];
            headerRow = [[NSString alloc] initWithFormat:@"%@ %@ |", headerRow, headerColumnContent];
        }
    
        NSLog(@"%@", headerRow);
    
    
        sqlite3_finalize(statement_showHeader);
    
        // ---------------- show header end ---------------------
    

提交回复
热议问题