繁体   English   中英

如何计算SQLITE中表的列数?

[英]How to count number of columns in a table in SQLITE?

如何计算Android中sqlite数据库中表格中的列数?

查询返回一个Cursor ,其中包含getColumnCount()等方法。

您可以使用pragma table_info(foo_table)并计算返回的行数

这是代码,它运行完美,没有任何错误。

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.

干得好!

-(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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM