如何在uwp

时间:2017-03-06 13:30:20

标签: .net sqlite uwp where-clause apostrophe

我正在开发uwp app。在这里,我遇到的问题是,当我比较包含撇号的字符串时。 sqlite查询给出了异常。

如何在uwp中处理sqlite中的撇号。 男装字符串在下面的代码中出现异常。

 SELECT SKU_MASTER.sku_Id, SKU_MASTER.short_description,SKU_MASTER.product_Id,PRODUCT_MASTER.product_ID,PRODUCT_MASTER.sub_category
        FROM SKU_MASTER INNER JOIN PRODUCT_MASTER ON SKU_MASTER.product_Id == PRODUCT_MASTER.product_ID and  PRODUCT_MASTER.category='APPAREL' and PRODUCT_MASTER.sub_category='MEN'S WEAR'

2 个答案:

答案 0 :(得分:0)

您应该在应用程序中使用SQLiteParameter,这样任何文本都不会被解释为SQL语句本身的一部分,这实际上演示了一个SQL注入场景,因为撇号可用于逃避正常指示并添加其他内容。我认为你用'?'替换值?而是为Command添加相关参数及其值。

答案 1 :(得分:0)

选择SKU_MASTER.sku_Id,SKU_MASTER.short_description FROM SKU_MASTER INNER JOIN PRODUCT_MASTER SKU_MASTER.product_Id = PRODUCT_MASTER.product_ID和PRODUCT_MASTER.category ='{objcategory.category}'和PRODUCT_MASTER.sub_category = “ ,strArray [0]

它会给出结果。 这里我传递字符串作为参数。 摘自https://github.com/praeclarum/sqlite-net

的参考文献