将数组传输到SQLite中,反之亦然,而无需循环,尤其是在ActionScript3中而不循环
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将数组传输到SQLite中,反之亦然,而无需循环,尤其是在ActionScript3中而不循环相关的知识,希望对你有一定的参考价值。
我对使用ActionScript3进行编程和使用SQLite还是很陌生的。当前,我尝试制作一个AIR应用程序,它将处理来自excel的小数据集到大数据集,使用ActionScript3导入到AIR中并在其中进行计算,并将计算出的数据存储在SQLite中。
现在,我有两个关于使用数组将数据传输到SQLite的问题
1。是否可以在不使用循环的情况下在SQLite中插入数据或更新数据?
在我的AIR应用程序中,我有一个名为DataInput
的对象,其中有62个变量/属性,这些变量/属性将包含来自Excel中62列的62个不同值。我确实知道,如果您创建DataInput
的新实例并循环放入数组arDataInput
,则可以使用arDataInput[i].variablename
访问数组中的每个数据,其中i是数组的索引,变量名是对象的变量/属性。
[显然,现在我确实使用for loop
访问excel中每个单元格的值,然后在AIR应用程序中进行计算,然后将计算出的数据逐行传输到sql事务中的SQLite中。
实际上有一种方法可以将数组中的数据传输到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是数组的索引,变量名是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
,因为在绘制图表后不再存储该值。
我使用for loop
实际上没有任何限制,我问这个问题是因为我没有看到关于此问题的任何话题,作为一个自学的程序员,我喜欢探索不同的编码方式和方式将这些知识整合到我的项目中。
发送和接收数据以及执行数据库工作的最佳方法是通过表单提交。 AIR可以发布常规表单提交(例如html页面),但也可以加载响应。像php这样的常规服务器端软件可以处理表单提交,对数据库执行任何操作并返回数据或简单的成功消息。
处理数据的最佳方法是使用XML(出于这种原因,请查看RESTful体系结构)。 PHP为该应用程序创建XML。 xml被加载,应放入对象数组。
这里有一些很好的链接,可以开始使用表单提交数据并读取XML:
代码共和国教程:
http://www.republicofcode.com/tutorials/flash/as3contactform/2.phphttp://www.republicofcode.com/tutorials/flash/as3xml/
https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequest.htmlhttps://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequestMethod.html
以上是关于将数组传输到SQLite中,反之亦然,而无需循环,尤其是在ActionScript3中而不循环的主要内容,如果未能解决你的问题,请参考以下文章
根据一维数组中的值更改二维numpy数组中的某些值而无需for循环
将 SQLite 表数据显示到列表视图中,就在将数据插入同一 Activity 上的表之后,无需关闭 Activity 并重新打开