Когда я удаляю строку из БД, она удаляет строку, но я не получаю событие, что она удаляла строку (мне нужно обновить список после того, как пользователь что-то удалит). Вот методы результатов рукояток из БД:Оператор AS3 SQLite DELETE не дает результата
private final function onReady(e:EventWithMessage):void
{
switch (action)
{
case "get files":
dispatchEvent(new EventWithMessage(EventWithMessage.FILES, {files: null}));
break;
case "save note":
dispatchEvent(new EventWithMessage(EventWithMessage.SAVED, { ID:e.message.ID }));
break;
case "delete note":
// Saving and getting files above work! And this is not working
dispatchEvent(new EventWithMessage(EventWithMessage.DELETED, { }));
break;
}
action = null;
}
private final function onData(e:EventWithMessage):void
{
DATA = e.message.data;
switch (action)
{
case "get files":
// some code was here
dispatchEvent(new EventWithMessage(EventWithMessage.FILES, {files: fileArray}));
break;
case "load note":
dispatchEvent(new EventWithMessage(EventWithMessage.FILE, { text:DATA[0].text }));
break;
case "delete note":
// And even here it isn't working
dispatchEvent(new EventWithMessage(EventWithMessage.DELETED, { }));
break;
}
action = null;
}
Метод DELETE:
public final function deleteNote(ID:int):void
{
SQLiteManager.SQLM.Operations(String("DELETE FROM Notes WHERE id = " + ID));
action = "delete note";
}
И методы в SQLiteManager (мой класс):
public final function Operations(command:String, parameters:Array = null)
{
statement = new SQLStatement();
statement.sqlConnection = connection;
statement.text = command;
if (parameters && parameters.length > 0)
{
for (i = 0; i < parameters.length; i++)
{
statement.parameters[i] = parameters[i];
}
}
statement.execute (-1,responder);
}
Ответчик имеет два метода:
private final function handleSuccess (result:SQLResult):void
{
if (result.data)
{
dispatchEvent(new EventWithMessage(EventWithMessage.SQLDATA, { data:result.data}));
}
else
{
dispatchEvent(new EventWithMessage(EventWithMessage.READY, { ID:result.lastInsertRowID }));
}
}
private final function handleError (e:SQLError):void
{
dispatchEvent (new EventWithMessage(EventWithMessage.ERROR,{error:e.message}));
}
Является ли это e любая ошибка или это просто не дает никакого результата после DELETE? Помоги пожалуйста.
EDIT: Пока я жду ответа - я использую таймер (через 1 секунду после DELETE он обновляет список файлов). Может быть, это хорошая альтернатива событию?
EDIT 2 переменная действия null, когда дело доходит до события отправки O_o Почему это null? О мой Бог.