我正在使用一个非常大的Excel电子表格,其中包含一些独特的列,我正在尝试使用AlaSQL进行查询。当前,我遇到一个问题,对这些列之一进行LIKE查询不会返回任何结果。如果我从日志记录中手动查询与控制台中所示相同的数据,它将完美地执行查询。似乎不喜欢传递值。
查询示例:
function getDetails(val){
alasql.promise('SELECT * FROM xlsx("FileName.xlsx") WHERE Serial like ? ',[val])
.then(function(deets){
let fern = JSON.stringify(deets)
console.log('Now comes the FUN:')
console.log(deets); //getting nothing back from either log under the promise
console.log(fern);
}).catch(function(err){
console.log('There was an error reading the source file.:', err);
})
console.log('Now loading data for:')
console.log(val); //Shows that val = "%123456789%"
};
价值通行证:
<button value=""%[[Serial]]%"" onclick="getDetails(this.value)">Details</button>
控制台日志只返回一个空白数组而已。如果我在控制台日志中的查询中手动输入(val)的值,那么它将起作用。
示例:
alasql.promise('SELECT * FROM xlsx("FileName.xlsx") WHERE Serial like "%123456789%" ')
.then(function(deets){
let fern = JSON.stringify(deets)
console.log('Now comes the FUN:')
console.log(deets); //getting full details on both of these when pushing this through the browser console.
console.log(fern);
})
我对如何解决这个问题感到非常困惑。由于控制台记录的“ val”值返回正确的值,我可以手动输入该值并获得所需的信息-我很困惑。我已经尝试过将所有内容从数字传递到数字,再分别传递数字和引号/百分号,以及两者都传递,就像上面那样。
我只需要一种传递值来执行WHERE查询的方法-任何想法/建议都值得赞赏。