SQLITE Insert возвращает значение с дополнительной строкой - PullRequest
1 голос
/ 17 июня 2011

При анализе данных я вставляю данные в sqlite.Но по какой-то причине, когда я запускаю запрос SELECT, он возвращает меня с дополнительной строкой и пробелом.Когда я пишу этот запрос, он вставляет данные правильно, но с дополнительными пробелами.

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
   namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName 
    attributes:(NSDictionary *)attributeDict {

  if([elementName isEqual:@"root"]) {
}

else if([elementName isEqualToString:@"value"]) {
    value = [[Value alloc] init] ;
}
}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 

    if(!trueValue) 
        trueValue = [[NSMutableString alloc] initWithString:string];
    else{
        [trueValue appendString:string];

    }
    }

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName 
   namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {

if([elementName isEqualToString:@"root"])
    return;


if([elementName isEqualToString:@"value"]) {

    NSString *sqlQuery = [NSString stringWithFormat:@"INSERT OR REPLACE INTO DETAIL(ID,KEY, TITLE) VALUES ('%@','%@','%@');", key, parent_key, title];
    const char *insert_sql = [sqlQuery UTF8String];
    sqlite3_exec(db, insert_sql, NULL, NULL, NULL);
}



else if([elementName isEqualToString:@"key"])
    [value setValue:finalValue forKey:elementName]

[trueValue release];
trueValue = nil;

}

Как я могу ЗАМЕНИТЬ дополнительные пробелы в основном как: "\ n \ t \ t \ t"с" "перед этим оператором для всех строк?

Ответы [ 2 ]

1 голос
/ 17 июня 2011

У меня была похожая проблема, которую я исправил, обрезав все пробельные символы следующим образом:

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 

    if(!trueValue) 
        trueValue = [[NSMutableString alloc] initWithString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
    else
        [trueValue appendString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];

}
0 голосов
/ 17 июня 2011

Попробуйте это:

[string stringByReplacingOccurferencesOfString: @ "\ n \ t \ t \ t" withString: @ ""]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...