带有特殊字符的“无法识别的令牌”

时间:2016-12-07 07:10:56

标签: sqlite xamarin xamarin.ios sqlite-net

我使用SQLite和Xamarin for iOS。 我在创建正确的查询字符串时遇到问题。我认为问题是字符串中的特殊字符。 我给了一个品牌名称,我将在DB中选择它:

这适用于没有特殊字符的字符串,如:“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 + "\"");
}

有没有人对如何解决这个问题有任何想法?

1 个答案:

答案 0 :(得分:0)

我找到了一个可能的解决方案:

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