【发布时间】:2012-03-03 14:34:16
【问题描述】:
我正在为 iPhone 应用程序使用 SQLite,并且我正在使用这样的查询:
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];
一切都很完美。
当我使用“特殊字符”(如 ¿、¡、`、'、ñ...包含特殊字符没有问题。
例如:
这个查询有效(因为只有一个“á”):
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];
这个查询返回错误“错误:靠近“''”:语法错误”(因为有一个“ó”和一个“à”):
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];
我试图把单词放在“和'之间,我得到了相同的结果。
有什么想法吗?
【问题讨论】:
-
嗨,你有没有找到解决这个问题的可靠方法,我最近三天都在经历同样的事情。