如何计算Android中sqlite数据库中表格中的列数?
答案 0 :(得分:9)
query会返回Cursor
,其中包含getColumnCount()
等方法。
答案 1 :(得分:6)
您可以使用pragma table_info(foo_table)
并计算返回的行数
答案 2 :(得分:2)
这是代码,它运行完美,没有任何错误。
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.
答案 3 :(得分:1)
你走了!
-(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;
}
答案 4 :(得分:0)
您可以使用SELECT count() FROM PRAGMA_TABLE_INFO('your_table');