BreezeJS中包含单引号或双引号的字符串查询返回错误
我有一个搜索字段的文本输入,然后字符串被传递到EntityQuery。当查询包含单个报价时,我会收到如下消息: “substringof(O'Malley,FirstName)eq true”中的位置39处有一个未终止的字符串文字 甚至在硬编码查询时也会发生这种情况,如下所示:BreezeJS中包含单引号或双引号的字符串查询返回错误,breeze,Breeze,我有一个搜索字段的文本输入,然后字符串被传递到EntityQuery。当查询包含单个报价时,我会收到如下消息: “substringof(O'Malley,FirstName)eq true”中的位置39处有一个未终止的字符串文字 甚至在硬编码查询时也会发生这种情况,如下所示: var query = breeze.EntityQuery .from("Users") .expand("GroupUsers.Group")
var query = breeze.EntityQuery
.from("Users")
.expand("GroupUsers.Group")
.where("lastName", "contains","O'Malley")
.skip(skipAmt)
.take(pageSize)
.inlineCount(true);
我尝试过通过使用双单引号或使用\'来转义单引号,但仍然返回一个错误。这同样发生在双引号中。什么是转义字符串文字字符的正确方法?我无法重新编程。你应该能够通过简单地加倍它来摆脱单一的。例如,以下查询在v1.2.8上运行时没有问题
var q = EntityQuery.from("Employees")
.where("lastName", "contains", "O''Malley");
如果您将查询“简化”为where“子句”,问题还会出现吗 这对我有用。当我试图用双引号来逃避它时,我错了。现在,当查询字符串出现时,我只运行
filterText=filterText.replace(/'/g,'')
这不应该被认为是breeze中的一个bug吗?我希望它能为我处理转义。下一个版本1.4.8将完全做到这一点。大约一周后就可以出来了。