[英]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.