我正在使用Azure Mobile应用程序,这是我的SQL语句
return new Promise((resolve, reject) => {
var query = {
sql: "SELECT Id FROM Groups WHERE Members LIKE '%@userId%' and Members '%@friendId%' and type = @roomType ",
parameters: [
{ name: 'userId', value: userId},
{ name: 'friendId', value: friendId },
{ name: 'roomType', value: type }
]
};
context.data.execute(query)
.then(function (results) {
resolve(results);
}).catch(error => { reject (error);});
});
然后我转到SQL并填写所有这样的变量
SELECT Id FROM Groups Where Members LIKE '%05adf56b-c128-4203-802f-d8d0e2916210%' and Members LIKE '%21B69402-7E9C-4BA3-99A8-6D84A96FA866%' and type = 0
我有很多记录。所以我不知道自己做错了什么
答案 0 :(得分:1)
您的SQL语句似乎不正确,您可能会错过like
的{{1}}关键字。
我已经在我的azure移动应用上测试了以下SQL语句,它什么也没有返回。
Members '%@friendId%'
经过一些试验,我发现以下语句可以按预期工作:
SELECT Id FROM Groups WHERE Members LIKE '%@userId%'
从成员为'%05adf56b-c128-4203-802f-d8d0e2916210%'和成员为'%21B69402-7E9C-4BA3-99A8-6D84A96FA866%'且类型= 0的组中选择ID
我有很多记录。所以我不知道我做错了什么
根据您的描述,您的var query = {
sql: "SELECT * FROM test5 where name LIKE @name",
parameters: [
{name:"name",value:"%"+req.query.param1+"%"}
]
};
列似乎包含许多GUID。您需要自己检查表格记录,或者可以使用有关记录的更多详细信息来更新问题,以便我们缩小此问题的范围。