llK*_*ull 6 sqlite iphone xcode4 ios5
我正在使用SQLite作为iPhone应用程序,我正在使用这样的查询:
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];
这是一个简单的INSERT,但我来自西班牙,我遇到了一些问题.如果我这样做:
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];
一切都很完美.
问题变成了当我插入两个或更多带有"特殊字符"的单词时,如¿,¡,`,',ñ...而且我不知道如何解决它:S如果查询只包含一个特殊的性格没有问题.
例如:
此查询正在运行(因为只有"á"):
INSERT INTO Courses (name, credits, web, tName, tSurname, tMail, tOffice) VALUES ('Matemáticas', '1', '', 'Name', 'Surname', 'a@a.com', '');", self.name, self.credits, self.web, self.tName, self.tSurname, self.tMail, self.tOffice];
此查询返回错误"Error:near"''":语法错误"(因为有"ó"和"à"):
INSERT INTO Courses (name, credits, web, tName, tSurname, tMail, tOffice) VALUES ('Gestió', '1', '', 'à', 'Surname', 'a@a.com', '');", self.name, self.credits, self.web, self.tName, self.tSurname, self.tMail, self.tOffice];
我试着将这些词放在"和之间"之间,而我也是如此.
任何的想法?
我没有在 iPhone 上使用过 SQLite,但是您是否浏览过该库以找到构建预编译 SQL 语句的某种方法?这将解决您可能遇到的许多问题,例如 SQL 查询的误解和意外\故意的 SQL 注入。
| 归档时间: |
|
| 查看次数: |
849 次 |
| 最近记录: |