Это своего рода хакерское предложение, поскольку оно явно не учитывает, почему ваш точный подход не работает правильно.Но я предполагаю, что %
каким-то образом вызывает проблему, когда расширяет параметры в операторе.
Попробуйте что-то вроде этого ...
var likeVal = value + "%";
var rec = tx.executeSql('SELECT name FROM Herbs WHERE name LIKE "?"', [likeVal]);
Кроме того, мое другое предположениев том, что аргументы для вас параметризованы с кавычками, а вы делаете двойную кавычку.Вот еще одна возможность:
var rec = tx.executeSql('SELECT name FROM Herbs WHERE name LIKE ?%', [likeVal]);