簡體   English   中英

iOS SQLite 求和和檢索數據

[英]iOS SQLite Sum and retrieve data

我在我的 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"]; 

至 function

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

來自sqlite3_column_int文檔:

結果集的最左側列的索引為 0。

此外,該 function 返回一個int ,而不是一個int* 嘗試:

int field2 = sqlite3_column_int(statement, 0);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM