gpt4 book ai didi

sqlite - 将数组传输到 SQLite 中,反之亦然,无需循环,尤其是在 ActionScript3 中

转载 作者:行者123 更新时间:2023-12-03 19:10:28 24 4
gpt4 key购买 nike

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

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

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

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

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

实际上有没有一种方法可以将数组中的数据传输到 SQLite(INSERT 新行或 UPDATE 现有行)而不使用像 INSERT INTO tblDataInputUW VALUES arDataInput 这样的循环鉴于 SQLite 表中的每个列名与数组中对象的变量/属性相同,例如。 SQLite 表,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 中的每个值通过使用 arData[i].variablename其中 i 是数组的索引,variablename 是 SQLite 表中的表名 tblDataInput .

如果有办法拆分 arData 中的数据分成 3 个不同的数组,例如 arNamePlat不使用像 arNamePlat = arData.variablename 这样的循环因为我有许多不同的图表要在我的 AIR 应用程序中绘制,并且每个图表都有自己的数组来获取值(value)。

现在,我实际上对不同的图表使用不同的 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);

我使用相同的 arDatatxtSQL对于每个图表,因为在绘制图表后我不再存储值。

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

最佳答案

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

处理数据的最佳方式是使用 XML(查看 RESTful 架构的原因)。 PHP 为应用程序创建 XML。 xml 被加载并应该进入对象数组。

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

代码共和国教程:

http://www.republicofcode.com/tutorials/flash/as3contactform/2.php
http://www.republicofcode.com/tutorials/flash/as3xml/

https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequest.html
https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequestMethod.html

关于sqlite - 将数组传输到 SQLite 中,反之亦然,无需循环,尤其是在 ActionScript3 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59186946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com