2011-03-22 82 views
0

任何人都可以幫助我使用以下WHERE語句嗎?我想說的是「哪裏名字與名字相同」。SQL where語句 - 與C中的實例變量比較

NSString *query = [NSString stringWithFormat:@"SELECT Name, Description, Postcode, AddressLine1, ImageURL, Cost FROM MainDetails WHERE [email protected]%", name]; 

由於提前,

馬丁

+1

請記住,如果您不清理輸入信息,這可能會導致SQL注入攻擊。 – Chuck 2011-03-22 19:38:36

+0

對不起 - 新來SQL - 這是什麼意思?> – GuybrushThreepwood 2011-03-22 19:53:33

+0

另一個想法,你可能想看看使用核心數據,而不是手工編寫SQL。通過代碼數據教程項目,你應該在一天內開始運行。 – picciano 2011-03-22 22:27:18

回答

3

你好像缺少單引號。 NSString * query = [NSString stringWithFormat:@「SELECT Name,Description,Postcode,AddressLine1,ImageURL,Cost FROM MainDetails WHERE Name ='@%'」,name];

+0

謝謝,但仍然無法正常工作。 SQL中的空間是否重要,例如,如果名稱是「The Whitehouse」,它會與表中的「The Whitehouse」匹配嗎? – GuybrushThreepwood 2011-03-22 19:58:27

+0

空間確實很重要。使用=運算符時,它必須完全匹配,包括正確的大寫/小寫。也許看看LIKE運算符。你可以使用通配符並讓它忽略大小寫。 – picciano 2011-03-22 22:25:09

+0

謝謝 - 我會嘗試喜歡 – GuybrushThreepwood 2011-03-23 13:47:27

4

字符串值需要在SQL引號。所以,你需要這樣的東西:

NSString *query = [... "... Name='@%'", name]; 

(假設語法的其餘部分有效,我不知道的Objective-C)