Загрузка результатов запроса SQLite в текстовое поле в том же представлении - PullRequest
0 голосов
/ 27 февраля 2011

Как поместить результаты запроса SQLite в текстовое поле?

Идея состоит в том, что пользователь нажимает кнопку «Далее», а затем текстовое поле отображает текст для следующего текстового значения в следующей записи. Я считаю, что я передаю значения правильно, но когда я использую trace(), значения появляются как неопределенные.

Что я делаю не так?

protected function button6_clickHandler(event:MouseEvent):void  // pushed --> button 
{
    var cardNumber:int = parseInt(cardNumberLabel.text);
    var newcardid:int = cardNumber+1;
    var sqlresult:SQLResult = stmt.getResult();
    stmt.sqlConnection = conn;
    conn.open(File.applicationStorageDirectory.resolvePath("FlashCards.db"));
    stmt.text = "SELECT * FROM cardItems WHERE id  = ?";
    stmt.parameters[0] = newcardid;
    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);
}

РЕДАКТИРОВАТЬ: РАБОЧИЙ КОД *

    private function nextMoveRPart(event:EffectEvent):void
        {
            var cardNumber:int = parseInt(cardNumberLabel.text);

            stmt.sqlConnection = conn;
            conn.open(File.applicationStorageDirectory.resolvePath("FlashCards.db"));
            stmt.text = "SELECT * FROM cardItems WHERE id = ?" + "AND id <= MAX(id)";
            stmt.parameters[0] = cardNumber+1;
            stmt.addEventListener(SQLEvent.RESULT, resultHandlerPrev);
            stmt.execute();
            conn.close();
            moveEffectRPart2.play();
        }
        function resultHandlerNext(event:SQLEvent):void  // result handler next
        {
            var result:SQLResult = stmt.getResult();
            var numResults:int = result.data.length;
            for(var i:int = 0; i < numResults; i++)
            {
                var row:Object = result.data[i];
                stext1.text = row.cSide1;
                stext2.text = row.cSide2;
                cardNumberLabel.text = row.id;

            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...