FLEX AIR工程连接SQLITE数据库进行数据查询,例如查询语句为:
select * from users where username='123';
当查询结果不为空时,返回一个数组resultArray, 其中包含正常的查询结果数据且resultArray.length = 1;
当查询结果为空时,返回数组resultArray,此时resultArray.length=1;
利用以下代码进行数据跟踪:
for(var obj:Object in resultArray[0])
Alert.show(obj+" ->"+resultArray[0][obj]);
发现显示的结果为
rows->0
经过反复测试,发现当返回结果为空时结果数组中总是存在此元素,而当返回结果非空时此元素就不存在了。
为了正确的反映真实的查询结果,通过以下代码过滤上述情况
if(resultArray[0].hasProperty('rows'))
resultArray = new ArrayCollection();
通过判断rows属性是否存在来反映查询结果是否为空。