How to count number of columns in a table in SQLITE?

后端 未结 4 1538
我寻月下人不归
我寻月下人不归 2021-01-13 03:59

How can I count the number of columns in a table in a sqlite database in Android?

相关标签:
4条回答
  • 2021-01-13 04:39

    You can use pragma table_info(foo_table) and count the number of rows returned

    0 讨论(0)
  • 2021-01-13 04:42

    A query returns a Cursor which has methods like getColumnCount().

    0 讨论(0)
  • 2021-01-13 04:47

    Here is the code and it runs perfectly without any error.

    public Cursor getAllTitles(){
       return db.query(DATABASE_TABLE, new String[] {
            KEY_ROWID,KEY_ISBN,KEY_TITLE,KEY_PUBLISHER},
            null,null,null,null,null);
    }
    

    Now create the following object in onCreate() method to call above getAllTitles() method.

    Cursor c = db.getAllTitles();
    c.getColumnCount(); //this line will give the number of columns in table.
    
    0 讨论(0)
  • 2021-01-13 04:48

    Here you go!

    -(NSInteger)dbFieldCount:(NSString *)dbname
    {
        NSString *query = [NSString stringWithFormat:@"PRAGMA table_info(%@)",dbname];
        const char *query2 = [query UTF8String];
        NSInteger nFields =0;
        sqlite3_stmt *compiledStatement;
        if(sqlite3_prepare_v2(database, query2, -1, &compiledStatement, NULL) == SQLITE_OK) 
        {
             while(sqlite3_step(compiledStatement) == SQLITE_ROW)
             {
                   nFields++;
             }
        }
        sqlite3_finalize(compiledStatement);
        return nFields;
    }
    
    0 讨论(0)
提交回复
热议问题