sqlite没有返回(select子句)数据从NSArray插入订单数据

时间:2014-03-13 07:12:46

标签: sql iphone sqlite nsarray

我正在为ios集成学习sqlite。 我的问题是如何获得行的顺序与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,

的技能,

Sal Range

打印arrayFieldValue的说明: (

2014-04-13,

Rep26,

2014年3月17日,

56,

58,

2月20日,

雷,

|#| PHP |#|爪哇|#|的Python |#|,

|#| 0 - 10k |#| 10k - 20k |#| 20k -30k |#|

以上日志符合预期。  现在我执行select以获取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;

,结果如下: unexpected order of rows in attached image

例如货币成为第一个,出生日期成为第二个......

任何建议

1 个答案:

答案 0 :(得分:0)

这是因为您正在使用NSMutableDictionary,它不按顺序存储数据。为此你可以创建你的模型类,例如。命名客户并添加货币浮动,出生日期,日期或字符串等属性。