Database AS3 SQLite DELETE语句don';我不能给出结果
当我从数据库中删除行时,它会删除行,但我并没有得到它删除行的事件(在用户删除某些内容后,我需要刷新列表)。以下是处理数据库结果的方法:Database AS3 SQLite DELETE语句don';我不能给出结果,database,sqlite,actionscript-3,events,Database,Sqlite,Actionscript 3,Events,当我从数据库中删除行时,它会删除行,但我并没有得到它删除行的事件(在用户删除某些内容后,我需要刷新列表)。以下是处理数据库结果的方法: private final function onReady(e:EventWithMessage):void { switch (action) { case "get files": dispatchEvent(new EventWithMessage(E
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;
}
删除方法:
public final function deleteNote(ID:int):void
{
SQLiteManager.SQLM.Operations(String("DELETE FROM Notes WHERE id = " + ID));
action = "delete note";
}
SQLItemManager(我的类)中的方法:
是否有任何错误或删除后没有给出任何结果?请帮忙
编辑:当我等待回答时-我使用计时器(删除后1秒刷新文件列表)。也许这是一个很好的替代活动
编辑2操作变量为空,在分派事件时为什么为空?哦,我的天啊。解决了!!!有一个事件,我做了一些“跟踪”,发现问题出在动作变量中,它是空的,当事件被调度时。我删除了行action=null现在一切正常。万岁
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}));
}