AS3。将数组存储在本地 SQL 数据库中

AS3. Store Array in Local SQL Database

我正在 Adob​​e Flash Builder 4.6 (AIR APP) 中开发一个应用程序,用户可以在其中填写表单并在本地 [=28] 中存储名称、phone、地址(以及一些报告数据)等数据=] 数据库。 我的编码一切正常,但只有一个问题。除了数据,还有一个数组,我试图将其存储在本地 SQL 数据库中,但我的所有尝试都失败了。 我将数组存储在数据库中的 text 数据类型中,当我访问存储的数组时出现错误。 Cannot convert "[object Object]" to Array。 我不知道是什么问题。 请帮助...谢谢。

我使用带有嵌套数组的数组,例如.. 我的数组是

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+"')";

在此语句中,数据具有 TEXT 数据类型。 现在当我访问它时

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

它给出强制错误。

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

"INSERT INTO table (id, data) VALUES ('', '" + ar.toString() + "')"

您丢失了所有通用对象 {...} 和数据结构。

MESepehr is absolutely correct, what you need is JSON 数据格式,只要您只保留 Numbers,Numbers,ints, Strings, Booleans, Arrays , Objects 和 nulls 在那里。

那么,就这么简单

商店:

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

恢复:

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