[英]sqlite not returning(select clause) data in the order data was inserted from NSArray
我正處於學習sqlite進行ios集成的階段。 我的問題是如何使行順序與sql-insert時相同? 伙計們,我有兩個保存一些數據的NSArray。我將它們插入表中,如下所示:
NSMutableArray *arrayFieldName = [[NSMutableArray alloc] initWithArray:[data objectForKey:@"arrayFieldNameKey"]] ;
NSMutableArray *arrayFieldValue = [[NSMutableArray alloc] initWithArray:[data objectForKey:@"arrayFieldValueKey"]] ;
日志是:
Printing description of arrayFieldName:
(
出生日期,
共和國,
婚姻,
貨幣,
激勵措施
面試日期
愛好,
Tanki Online,
技能,
薩爾山脈
)
arrayFieldValue的打印說明:(
2014-04-13,
Rep26,
2014-03-17,
56
58
2月20日,
,
雷,
|#| PHP |#| Java |#| Python |#|,
|#| 0-10k |#| 10k-20k |#| 20k -30k |#|
)
上面的日志是預期的。 現在我執行選擇以獲取fieldName和fieldValue:
NSMutableArray *arr = [[NSMutableArray alloc] init];
FMResultSet *rs = [db executeQuery:@"SELECT * FROM customer_custom_fields where customer_id=? AND deleted = 0", custId];
while ([rs next])
{
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setObject:[rs stringForColumn:@"field_name"] forKey:@"field_name"];
[dic setObject:[rs stringForColumn:@"field_value"] forKey:@"field_value"];
[dic setObject:[rs stringForColumn:@"deleted"] forKey:@"deleted"];
[dic setObject:[rs stringForColumn:@"update_date"] forKey:@"update_date"];
[arr addObject:dic];
}
return arr;
結果看起來像這樣:
例如貨幣成為第一,出生日期成為第二。
任何建議
那是由於您使用的是NSMutableDictionary,它不按順序存儲數據。 為此,您可以創建模型類,例如。 給客戶命名並添加諸如貨幣浮動,出生日期作為日期或字符串等之類的屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.