Actionscript 3 AS3。本地SQL数据库中的存储阵列

Actionscript 3 AS3。本地SQL数据库中的存储阵列,actionscript-3,air,flash-builder,Actionscript 3,Air,Flash Builder,我正在AdobeFlashBuilder4.6AIR应用程序中开发一个应用程序,在这个应用程序中,用户填写表单并将姓名、电话、地址等数据以及一些报表数据存储在本地SQL数据库中。 我的编码还可以,但只有一个问题。除了数据,还有一个数组,我正试图将它存储在本地SQL数据库中,但我的所有尝试都失败了。 我将数组存储在数据库中的文本数据类型中,当我访问存储的数组时,它会给出一个错误。 无法将[object]转换为数组。 我不知道是什么问题。 请帮忙。。。谢谢 我将数组与嵌套数组一起使用,如。。 我的数

我正在AdobeFlashBuilder4.6AIR应用程序中开发一个应用程序,在这个应用程序中,用户填写表单并将姓名、电话、地址等数据以及一些报表数据存储在本地SQL数据库中。 我的编码还可以,但只有一个问题。除了数据,还有一个数组,我正试图将它存储在本地SQL数据库中,但我的所有尝试都失败了。 我将数组存储在数据库中的文本数据类型中,当我访问存储的数组时,它会给出一个错误。 无法将[object]转换为数组。 我不知道是什么问题。 请帮忙。。。谢谢

我将数组与嵌套数组一起使用,如。。 我的数组是

var ar:Array=["report_name", {label: report_label, number: 5}, [{label: Label1, data: Data1}, {label: Label2, data: Data2}, {label: Label3, data: Data3}]];
现在我将这个数组存储在数据库中

sqlstatement.text ="INSERT INTO table (id, data) VALUES ('', '"+ar+"')";
在此语句中,数据具有文本数据类型。 现在当我像这样访问它时

var array:Array = [];
array = Array(sqlstatement.getResult().data[0].data;

它给出强制错误。

您得到的结果是因为SQL查询基本上是一个字符串,所以它等于

"INSERT INTO table (id, data) VALUES ('', '" + ar.toString() + "')"
您将丢失所有通用对象{…}和数据结构

是绝对正确的,您需要的是数据格式,只要您只保留数字、整数、字符串、布尔值、数组、对象和空值,它就可以正常工作

然后,它就像下面一样简单

商店:

sqlstatement.text = "INSERT INTO table (id, data) VALUES ('', '" + JSON.stringify(ar) + "')";
恢复:

var array:Array = JSON.parse(sqlstatement.getResult().data[0].data) as Array;

没有足够的信息。演示如何存储和检索有问题的数据。朋友,我已编辑了我的问题。请帮助。@MSJuGnu请尊重那些愿意帮助您并将您的代码格式化为代码的人,而不是无法阅读的乱七八糟的文本。我建议您使用用户本地数据的共享对象:但如果您坚持使用SQL数据库,pars您从SQK接收到的数据—导致JSON.stringifyreceivedObject出现错误的行—以了解receivedObjec模型是什么。SharedObject不是数据存储的安全场所。我不知道json的用法。请详细说明你的答案。谢谢。绝对完美:非常感谢。。。事实上,@MESepehr在评论中给出了相同的答案,但我不明白,所以谢谢你的解释。它工作得很好。