Adobe AIR中使用Flex连接Sqlite数据库(3)(查询)
本章主要总结表的查询
1.查询
同步版本:
private function query():void
{
var stmt:SQLStatement = new SQLStatement();
stmt.sqlConnection = con;
stmt.text = "select empId,firstName,lastName,salary from emp";
stmt.execute();
var result:SQLResult = stmt.getResult();
if ( result.data!=null )
{
var numResults:int =result.data.length;
for (var i:int = 0; i < numResults; i++)
{
var row:Object = result.data[i];
var output:String = "empId: " + row.empId;
output += "; firstName: " + row.firstName;
output += "; lastName: " + row.lastName;
output += "; salary: " + row.salary;
Alert.show(output);
}
}
}
代码说明:
getResult ()方法:执行结果的SQLResult对象的访问
SQLResult的data属性:执行语句而返回的数据。如果某一语句不返回任何数据,则此属性为 null。这就是本代码需要判断是否为空的目的。
2.查询部分结果
默认情况下,执行 SELECT 语句会一次检索结果集的所有行,有时我们需要查询第1行怎么办?
查询第1行的异步版本实例代码如下:
private var responder:Responder;
private var stmt:SQLStatement;
private function querytop1():void
{
stmt = new SQLStatement();
stmt.sqlConnection = con;
stmt.text = "select empId,firstName,lastName,salary from emp where firstName=:firstName";
stmt.parameters[":firstName"]="f";
responder= new Responder(resultHandler, errorHandler);
stmt.execute(1,responder);
}
private function resultHandler(result:SQLResult):void
{
if ( result.data!=null )
{
var numResults:int =result.data.length;
for (var i:int = 0; i < numResults; i++)
{
var row:Object = result.data[i];
var output:String = "empId: " + row.empId;
output += "; firstName: " + row.firstName;
output += "; lastName: " + row.lastName;
output += "; salary: " + row.salary;
Alert.show(output);
}
}
}
private function errorHandler(error:SQLError):void
{
Alert.show(error.message);
Alert.show(error.details);
}
代码说明:
execute () 方法参数说明:
第1个参数:此值指示该语句一次返回的行数。默认值为 -1,指示一次返回所有结果行,
第2个参数:一个Responder对象,指定操作成功或失败时要调用的方法。
实际在本例中,也可以不用Responder对象,而用事件侦听器执行SQLStatement,以确定语句的执行何时完成或失败
stmt.addEventListener(SQLEvent.RESULT,resultHandler);
stmt.addEventListener(SQLErrorEvent.ERROR,errorHandler);
具体代码实现可以参照以前的文章
3.代码下载
https://files.cnblogs.com/aierong/Air_Test_SQLite3.rar
B.MCAD学习
C.代码阅读总结
D.ASP.NET状态管理
E.DB(数据库)
F.WAP
G.WinForm
H.Flex
希望上面提到的知识对您有所提示,同时欢迎交流和指正
作者:aierong
出处:http://www.cnblogs.com/aierong
贴子以"现状"提供且没有任何担保,同时也没有授予任何权利!
本文版权归作者所有,欢迎转载!
原创技术文章和心得,转载注明出处!这也是对原创者的尊重!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】博客园2025新款「AI繁忙」系列T恤上架,前往周边小店选购
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用perf跟踪.NET程序的mmap泄露
· 日常问题排查-空闲一段时间再请求就超时
· Java虚拟机代码是如何一步一步变复杂且难以理解的?
· 领域驱动的事实与谬误 一 DDD 与 MVC
· SQL Server 2025 中的改进
· C# 14 新增功能一览,你觉得实用吗?
· C#/.NET/.NET Core优秀项目和框架2025年4月简报
· Linux系列:如何用perf跟踪.NET程序的mmap泄露
· .NET + AI | Semantic Kernel vs Microsoft.Extension
· windows11 安装WSL2详细过程