DB에서 행을 삭제하면 행이 삭제되지만 행이 삭제 된 이벤트가 표시되지 않습니다. 사용자 삭제 후 목록을 새로 고침해야합니다. 다음은 DB에서 핸들 결과에 대한 방법은 다음과 같습니다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}));
}
어떤 실수라도 아니면 DELETE 후에 어떤 결과도주지 않습니까? 도와주세요.
편집 : 답변을 기다리는 동안 - 저는 타이머를 사용합니다 (DELETE 후 1 초 후에 파일 목록을 새로 고침). 어쩌면 그것은 이벤트의 좋은 대안일까요?
EDIT 2 조치 변수가 널 (null) 일 때 디스패치 이벤트 O_o 이유는? null 인 이유는 무엇입니까? 세상에.