Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不循环的情况下将数组传输到SQLite,反之亦然,尤其是在ActionScript3中_Sqlite_Actionscript 3_Air - Fatal编程技术网

在不循环的情况下将数组传输到SQLite,反之亦然,尤其是在ActionScript3中

在不循环的情况下将数组传输到SQLite,反之亦然,尤其是在ActionScript3中,sqlite,actionscript-3,air,Sqlite,Actionscript 3,Air,我对ActionScript3编程和使用SQLite非常陌生。目前,我尝试制作一个AIR应用程序,它将处理excel中从小到大的数据集,使用ActionScript3导入并在AIR中计算,并将计算出的数据存储在SQLite中 现在我有两个关于使用数组将数据传输到SQLite的问题 1。是否可以在不使用循环的情况下在SQLite中插入数据或更新数据? 在AIR应用程序中,我有一个名为DataInput的对象,其中包含62个变量/属性,这些变量/属性将包含excel中62列中的62个不同值。我确实知

我对ActionScript3编程和使用SQLite非常陌生。目前,我尝试制作一个AIR应用程序,它将处理excel中从小到大的数据集,使用ActionScript3导入并在AIR中计算,并将计算出的数据存储在SQLite中

现在我有两个关于使用数组将数据传输到SQLite的问题

1。是否可以在不使用循环的情况下在SQLite中插入数据或更新数据?

在AIR应用程序中,我有一个名为
DataInput
的对象,其中包含62个变量/属性,这些变量/属性将包含excel中62列中的62个不同值。我确实知道,如果您创建
DataInput
的新实例并将其推入数组(例如
arDataInput
in循环),您可以使用
arDataInput[I].variablename
访问数组中的每个数据,其中I是数组的索引,variablename是对象的变量/属性

显然,现在我确实使用了
for loop
来访问excel中每个单元格的值,然后在AIR应用程序中进行计算,然后在sql事务中将计算出的数据逐行传输到SQLite中

如果SQLite表中的每个列名与数组中对象的变量/属性(例如SQLite表)相同,那么实际上是否有一种方法可以将数组中的数据传输到SQLite(插入新行或更新现有行),而不使用类似循环的
INSERT-into-tblDataInputUW-VALUES-arDataInput
tblDataInput
具有列名
namePlat
且数组具有变量/属性
arDataInput.namePlat

2。是否可以将我从SQLite获得的数据数组拆分为多个数组而不进行循环?

现在,我使用以下代码从SQLite中提取数据并存储为数组

txtSQL = new String();
arData = new Array();
txtSQL = "SELECT namePlat, platLat, platLong FROM tblDataInput";
arData = getSQLData(txtSQL);

function getSQLData(text: String): Array
{
    sqlCon.begin();

    sqlStat = new SQLStatement();
    sqlStat.sqlConnection = sqlCon;
    sqlStat.text = text;
    sqlStat.execute();

    sqlCon.commit();

    var result: SQLResult = new SQLResult();
    var arData: Array = new Array();

    result = sqlStat.getResult();

    if (result != null)
    {
        arData = result.data;
    }

    return arData;
}
如果我的假设正确,我可以使用
arData[I].variablename
访问
arData
中的每个值,其中I是数组的索引,variablename是SQLite表
tblDataInput
中的表名

如果有办法将
arData
中的数据拆分为3个不同的数组,例如
arNamePlat
,而不使用循环,如
arNamePlat=arData.variablename
,因为我的AIR应用程序中有许多不同的图表要绘制,每个图表都有自己的数组来获取值

现在,我实际上对不同的图表使用不同的sql语句

txtSQL = new String();
arData = new Array();
txtSQL = "SELECT namePlat FROM tblDataInput";
arData = getSQLData(txtSQL);

dgNamePlat.dataProvider = new DataProvider(arData);

txtSQL = new String();
arData = new Array();
txtSQL = "SELECT  platLat, platLong FROM tblDataInput";
arData = getSQLData(txtSQL);

dgPlatLatLong.dataProvider = new DataProvider(arData);
我对每个图表使用相同的
arData
txtSQL
,因为在绘制图表后,我不再存储值


实际上对我来说,仅仅使用循环的
是没有限制的,我问这个问题是因为我没有看到关于这个问题的任何话题,作为一个自学程序员,我喜欢探索不同的编码方式,以及如何将这些知识融入到我的项目中。

发送和接收数据以及处理数据库事务的最佳方式是提交表单。AIR可以发布常规表单提交,比如html页面,但也可以加载响应。像php这样的常规服务器端软件处理表单提交,对数据库执行任何操作,并返回数据或简单的成功消息

处理数据的最佳方法是使用XML(查看RESTful体系结构的原因)。PHP为应用程序创建XML。xml将被加载并应放入对象数组中

下面是一些很好的链接,可以帮助您继续使用表单提交数据和读取XML:

代码共和国教程:


听起来你应该只使用常规表单。表单是从后端发送和接收数据的最轻、最快的方式。您的应用程序可以在表单POST、php或任何处理提交的东西中发送一个对象数组,对数据库执行任何操作,并向您的应用程序提供响应。应用程序等待响应,使用响应并触发事件。这听起来像你需要的吗?@moot有什么例子或教程我可以看看吗?我以前从没听说过形式