websql использует select in для получения строк из массива

в websql мы можем запросить определенную строку следующим образом:

tx.executeSql('SELECT * FROM tblSettings where id = ?', [id], function(tx, rs){
    // do stuff with the resultset.
},
function errorHandler(tx, e){
    // do something upon error.
    console.warn('SQL Error: ', e);
});

однако я знаю обычный SQL и решил, что должен иметь возможность запросить

var arr = [1, 2, 3];
tx.executeSql('SELECT * FROM tblSettings where id in (?)', [arr], function(tx, rs){
    // do stuff with the resultset.
},
function errorHandler(tx, e){
    // do something upon error.
    console.warn('SQL Error: ', e);
});

, но это не дает нам результаты, результат всегда пустой. если бы я удалил [arr]в arr, тогда sql получил бы переменное количество параметров, поэтому я решил, что это должно быть [arr]. в противном случае нам потребовалось бы добавить динамическое количество вопросительных знаков (столько, сколько идентификаторов содержится в массиве).

Так может ли кто-нибудь увидеть, что я делаю неправильно?

0
задан Sander 26 March 2012 в 09:23
поделиться