2012-02-11 10 views
6

:Özel Karakterler Bir iPhone uygulaması için SQLite kullanıyorum ve böyle bir sorgu kullanıyorum

NSString *query = [[NSString alloc] initWithFormat:@"INSERT INTO Courses (name, credits, web, tName, tSurname, tMail, tOffice) VALUES (\'%@\', \'%@\', \'%@\', \'%@\', \'%@\', \'%@\', \'%@\');", self.name, self.credits, self.web, self.tName, self.tSurname, self.tMail, self.tOffice];

Basit bir INSERT, ama ben İspanya'dan ve tildes ile bazı sorunlar yaşıyorum. i gibi bir şey yaparsanız:

INSERT INTO Courses (name, credits, web, tName, tSurname, tMail, tOffice) VALUES ('test', 'test', 'test', 'test', 'test', 'test', 'test');", self.name, self.credits, self.web, self.tName, self.tSurname, self.tMail, self.tOffice];

Tüm mükemmel çalışır. S sorgusu ise: Ben ñ gibi "özel karakter" ¿, ¡, `', iki veya daha fazla kelime ile bir ekleme yapmak ... Ve ben bunu düzeltmek için nasıl bilmiyorum zaman

sorun haline gelir sadece özel bir karakter içerir, sorun yoktur.

Bu sorgu çalışıyor (sadece bir "á" olduğundan):

INSERT INTO Courses (name, credits, web, tName, tSurname, tMail, tOffice) VALUES ('Matemáticas', '1', '', 'Name', 'Surname', '[email protected]', '');", self.name, self.credits, self.web, self.tName, self.tSurname, self.tMail, self.tOffice];

Bu sorgu bana hata verir Örneğin

"Hata: yakın " ''": sözdizimi hatası "(bir olduğundan 'ó' ve 'à'): ve

INSERT INTO Courses (name, credits, web, tName, tSurname, tMail, tOffice) VALUES ('Gestió', '1', '', 'à', 'Surname', '[email protected]', '');", self.name, self.credits, self.web, self.tName, self.tSurname, self.tMail, self.tOffice];

ben arasında kelime koymak için çalıştı" ve ben de aynısını alıyorum.

Herhangi bir fikrin var mı?

+0

Merhaba, bu soruna kesin bir çözüm buldunuz mu, son üç gün içinde de aynı şekilde çalışıyorum. –

+0

henüz üzgünüz – llKoull

cevap

0

iPhone'da SQLite ile çalışmadım, ancak önceden derlenmiş bir SQL deyimi oluşturmanın bir yolunu bulmak için kitaplığı incelediniz mi? Bu, SQL sorgularının ve yanlışlıkla \ kasıtlı SQL Enjeksiyonunun yanlış yorumlanması gibi karşılaşabileceğiniz bir dizi sorunu çözer.

+1

Hayır, kütüphaneye bakmadım. Daha fazla bilgi için Xcode ile birlikte gelen resmi libsqlite3.dylib kullanıyorum. Birisi başka bir kütüphaneyi biliyorsa, onu deneyeceğim. – llKoull