- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 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)。
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
对于每个图表,因为在绘制图表后我不再存储值。
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/
我是一名优秀的程序员,十分优秀!