我在 iOS 应用程序中创建了一个 SQLite 数据库。该数据库中存储了一系列数字。我想对整个列求和,并返回要在应用程序中显示的数据。
写入数据库的所有内容都正常工作,但我在尝试返回汇总数据时遇到困难。任何帮助将不胜感激。
-(void) dataReturn: (NSString *) tableNamed{
NSString *myData = [NSString stringWithFormat:@"SELECT SUM(column1) AS data1 FROM myDB", tableNamed];
sqlite3_stmt *statement;
if(sqlite3_prepare_v2(db, [myData UTF8String], -1, &statement, nil) ==SQLITE_OK){
while (sqlite3_step(statement) == SQLITE_ROW){
int *field2 = (int *) sqlite3_column_int(statement, 1);
NSString *myString =[[NSString alloc] initWithFormat:@"%@", field2];
}
}
}
最佳答案
你好内森调用
[self dataReturn:@"Bill"];
发挥作用
-(void)dataReturn:(NSString *)tableName{
sqlite3 *database;
sqlite3_stmt *statement;
NSString *queryString = [NSString stringWithFormat:@"SELECT SUM(price) AS TOTAL FROM %@", tableName];
if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
if(sqlite3_prepare_v2(database, [queryString UTF8String], -1, &statement, nil) == SQLITE_OK){
while (sqlite3_step(statement) == SQLITE_ROW) {
int field1 = sqlite3_column_int(statement, 0);
NSLog(@"The sum is %d ", field1);
}
}
}
}
将获取您想要的数据。表“Bill”的架构是“CREATE TABLE Bill (price double,quantity INTEGER)”。获取的结果将具有从“0”索引的列,因此我们为第一列传递 0。希望你能从中得到一些启示。干杯!!
int field1 = sqlite3_column_int(statement, 0);
关于iphone - iOS SQLite 求和并检索数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6588114/