Вы всегда можете сохранить текущий идентификатор в некоторой переменной в ActionScript. Тогда Вы сможете переписать всю строку запроса. Я думаю, вы можете написать что-то вроде этого:
stmt.text = "SELECT * FROM cardItems WHERE id > " + current_id + " ORDER BY id ASC LIMIT 1;";
current_id
является переменной ActionScript. Это должно быть достаточно для sqlite. Вы можете установить current_id
на 0 для первой записи. Если пользователь нажимает следующую кнопку, Вы должны сохранить там текущий идентификатор из уже полученной записи.
Второй вариант - использовать OFFSET
. Это исключает некоторые записи из начала возвращенного набора строк.
stmt.text = "SELECT * FROM cardItems ORDER BY id ASC LIMIT 1 OFFSET " + your_offset + ";";
your_offset
является переменной ActionScript. Это 0
, если Вы хотите получить первую запись, 1
для второй, 2
для третьей и т. Д.
===
Попробуйте этот код.
protected function button6_clickHandler(event:MouseEvent):void // pushed --> button
{
var cardNumber:int = parseInt(cardNumberLabel.text);
/* Deleted */
var sqlresult:SQLResult = stmt.getResult();
stmt.sqlConnection = conn;
conn.open(File.applicationStorageDirectory.resolvePath("FlashCards.db"));
/*Edited two lines*/
stmt.text = "SELECT * FROM cardItems WHERE id > ? ORDER BY id ASC LIMIT 1";
stmt.parameters[0] = cardNumber;
stmt.execute();
trace(sqlresult.data); // value = [object Object]
stext1.text = sqlresult.data.cSide1;
trace(sqlresult.data.cSide1); // value = 'undefined'
cardNumberLabel.text = sqlresult.data.id;
trace(sqlresult.data.id); // value = 'undefined'
conn.close();
moveEffectRPart1.play();
moveEffectRPart1.addEventListener(EffectEvent.EFFECT_END, nextMoveRPart);
}