私のアプリケーションでは、テーブル名はdataset_masterです。テーブルのフィールド名はdataset_idです。このフィールドの最大値を取得したいので、単純に次のクエリをコードで起動します。
-(NSString *) getLastRowFromDataset_masterTableByProjectID:(NSString *) project_id
{
NSString *dataset_id = @"";
sqlite3_stmt *statement = NULL;
NSString *query = [NSString stringWithFormat:@"SELECT MAX(dataset_id) FROM dataset_master where project_id = ?;"];
if (sqlite3_prepare_v2(_database, [query UTF8String], -1, &statement, nil) == SQLITE_OK)
{
sqlite3_bind_text(statement, 1, [project_id UTF8String], -1, SQLITE_TRANSIENT);
while (sqlite3_step(statement) == SQLITE_ROW)
{
char *datasetIDChars = (char *) sqlite3_column_text(statement, 0);
if(datasetIDChars != NULL)
dataset_id = [[NSString alloc] initWithUTF8String:datasetIDChars];
}
}
return dataset_id;
}
に基づいproject_id
て取得する必要があるため、ここに require があります。dataset_id
project_id
すべて問題ありませんdataset_id
が、 10 以上 10 の場合、適切な最大値を取得できません。つまり、 9を取得するたびに意味します。
本当の問題が何であるかはわかりません。クエリを実行するだけですが、適切な回答が得られません。