2016-12-07 86 views
0

我使用SQLite和Xamarin for iOS。 我在創建正確的查詢字符串時遇到問題。我認爲問題是字符串中的特殊字符。 我給出了一個品牌名稱,我將在數據庫中選擇此項:「無法識別的令牌」,帶有特殊字符

這適用於沒有特殊字符的字符串,如「BESSEY」,但對於像「ALURIX®600」這樣的字符串不起作用。

return dbConn.Query<MasterProductDataStructure>("SELECT * FROM ZMASTERPRODUCTS WHERE ZMANUFACTURER='" + ZBRANDS + "'"); 

錯誤消息:

SQLite.Net.SQLiteException:無法識別的令牌: 「」 ALUTRIX®600"

然後我測試:

return dbConn.Query<MasterProductDataStructure>("SELECT * FROM ZMASTERPRODUCTS WHERE ZMANUFACTURER=\"" + ZBRANDS + "\""); 

錯誤消息:

SQLite.Net.SQLiteException:無法識別的標記: 「」 ALUTRIX®600"

完整的方法:

public List<MasterProductDataStructure> GetAllProductBrands(string ZBRANDS) 
{ 
     return dbConn.Query<MasterProductDataStructure>("SELECT * FROM ZMASTERPRODUCTS WHERE ZMANUFACTURER=\"" + ZBRANDS + "\""); 
} 

有沒有人有任何想法,我怎麼能解決這個問題?

回答

0

我發現了一個可能的解決方案:

return dbConn.Query<MasterProductDataStructure>("SELECT * FROM ZMASTERPRODUCTS WHERE ZMANUFACTURER= ?", ZBRANDS);