Как посчитать количество столбцов в таблице в SQLITE? - PullRequest
5 голосов
/ 29 ноября 2010

Как подсчитать количество столбцов в таблице в базе данных sqlite в Android?

Ответы [ 4 ]

9 голосов
/ 29 ноября 2010

A query возвращает Cursor с такими методами, как getColumnCount().

6 голосов
/ 29 ноября 2010

Вы можете использовать pragma table_info(foo_table) и подсчитать количество возвращаемых строк

2 голосов
/ 04 марта 2011

Вот код, и он работает без ошибок.

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

Теперь создайте следующий объект в методе onCreate () для вызова выше метода getAllTitles ().

Cursor c = db.getAllTitles();
c.getColumnCount(); //this line will give the number of columns in table.
1 голос
/ 12 июля 2011

Вот, пожалуйста!

-(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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...