- 浏览: 591342 次
文章分类
- 全部博客 (174)
- Core Java 学习 (6)
- Hibernate 学习 (3)
- Struts 学习 (3)
- Spring 学习 (9)
- EJB 学习 (0)
- 设计模式 (0)
- Oracle 学习 (6)
- JRuby (0)
- PHP (18)
- MySql (7)
- Apache (6)
- Informix (2)
- JSTL (1)
- CSS+HTML (8)
- Ajax (2)
- javaScript (16)
- reverse Ajax (1)
- Discuz (7)
- 网站 (11)
- SEO (5)
- Linux (4)
- ecshop (1)
- 电子商务 (1)
- 文档在线浏览 (18)
- 服务器技术 (10)
- flex (17)
- 用户体验 (1)
- java (1)
- flex+blazeDS (1)
- tomcat (1)
- 开发管理 (1)
最新评论
-
niaoqq1:
真坑爹,全是中文字符,复制全部报错!
<c:forEach 详解 -
jhys7s8jd:
pdf打印机下载http://www.onlinedown.n ...
命令行下转换word文档成PDF -
海豚12315:
flashPaper读取磁盘上的文件路径,
最好是放到某个系统 ...
在线文档阅读实现的解决方案 -
八月约克:
火狐不支持这个东东
Scripting.Dictionary的使用 -
longgol:
有一问:怎么通过flashPaper读取磁盘上的文件路径呢。我 ...
在线文档阅读实现的解决方案
本章主要总结数据库的插入,删除,修改,以及语句参数的使用 0.SQLStatement类介绍 private function initApp():void 2.得到已插入行的数据库生成的行标识 3.语句参数的使用 使用参数的优点: 实例代码:得到自动增长列的行标识数值(异步版本) private function okHandler(evt:SQLEvent):void private function errorHandler(evt:SQLErrorEvent):void 4.删除操作 5.修改操作
本章提到的同步和异步操作,不明白的可以看上篇文章
http://www.cnblogs.com/aierong/archive/2009/01/22/flex_Sqlite_1.html
SQLStatement实例用于针对通过 SQLConnection 实例打开的本地 SQL 数据库执行 SQL 语句。
SQLStatement实例通过将 SQLConnection 实例设置为 SQLStatement 实例的 sqlConnection 属性的值来链接到 SQLConnection 实例。text 属性用要执行的 SQL 语句的实际文本进行填充。如有必要,可以使用 parameters 属性指定 SQL 语句参数的值,并通过调用 execute() 方法执行该语句。
1.插入数据
同步版本:
import mx.controls.Alert;
private var con:SQLConnection;
{
var file:File = File.applicationStorageDirectory.resolvePath("myTestdb.db")
con = new SQLConnection();
var stmt:SQLStatement = new SQLStatement();
try
{
con.open(file);
stmt.sqlConnection = con;
stmt.text="INSERT INTO emp (firstName, lastName, salary) VALUES ('f', 'l', 88)";
stmt.execute();
}
catch(error:SQLError)
{
Alert.show(error.message);
Alert.show(error.details);
}
}
代码说明:
SQLStatement类的实例用于针对通过 SQLConnection 实例打开的本地 SQL 数据库执行 SQL 语句
得到自动增长列的行标识数值
var stmt:SQLStatement = new SQLStatement();
stmt.sqlConnection = con;
stmt.text="INSERT INTO emp (firstName, lastName, salary) VALUES ('f', 'l', 88)";
stmt.execute();
var result:SQLResult = stmt.getResult();
var primaryKey:Number = result.lastInsertRowID;
Alert.show(primaryKey.toString());
代码说明:
SQLResult 类提供对为响应 SQL 语句(SQLStatement 实例)执行而返回的数据的访问
lastInsertRowID属性:上次生成的行标识符(由 SQL INSERT 语句生成),如果执行的语句不是 INSERT 语句,则该值为 0。
在多次使用一个 SQL 语句但该语句中的值不同的情况下,最佳方法是使用包括参数的 SQL 语句而不是在 SQL 文本中包括字面值。参数是语句文本中的一个占位符,每次执行语句时都将它替换为实际的值。
参数名称由“:”或“@”字符后跟一个名称组成,例如::itemName @firstName
还可以使用未命名参数,使用“?”字符表示 SQL 语句中的参数。按照参数在语句中的顺序,每个参数都分配有一个数字索引,数字索引从索引 0(表示第一个参数)开始。
1.性能更佳
2.显式数据类型指定
3.安全性更高
private var stmt1:SQLStatement;
private function GetlastInsertRowID():void
{
stmt1 = new SQLStatement();
stmt1.sqlConnection = con;
stmt1.text="INSERT INTO emp (firstName, lastName, salary) VALUES (@firstName, @lastName, @salary)";
stmt1.parameters["@firstName"]="f";
stmt1.parameters["@lastName"]="l";
stmt1.parameters["@salary"]=88;
stmt1.addEventListener(SQLEvent.RESULT,okHandler);
stmt1.addEventListener(SQLErrorEvent.ERROR,errorHandler);
stmt1.execute();
}
{
Alert.show("插入成功");
var re:SQLResult= this.stmt1.getResult();
var id:Number=re.lastInsertRowID;
Alert.show(id.toString());
}
{
Alert.show("失败");
Alert.show(evt.error.message);
Alert.show(evt.error.details);
}
代码说明:
此例题中用到了语句参数@firstName, @lastName, @salary,并分别赋值
要是使用未命名参数,把代码修改如下即可(注意数字索引从0开始):
stmt1.text="INSERT INTO emp (firstName, lastName, salary) VALUES (?, ?, ?)";
stmt1.parameters[0]="f";
stmt1.parameters[1]="l";
stmt1.parameters[2]=88;
private function del():void
{
var stmt:SQLStatement = new SQLStatement();
stmt.sqlConnection = con;
stmt.text="delete from emp where salary=:salary";
stmt.parameters[":salary"]=88;
stmt.execute();
var result:SQLResult = stmt.getResult();
var count:Number = result.rowsAffected;
Alert.show("成功删除"+count.toString()+"行");
}
代码说明:
rowsAffected属性:指示受此操作影响的行数
请注意,当相关的 SQL 操作为不带 WHERE 子句的 DELETE 语句时(即该语句删除表中的所有行),rowsAffected 属性始终为 0,而不管删除了多少行。如果您需要知道删除的行数,则可以包括 WHERE 子句 WHERE 1 = 1,在这种情况下,将删除所有行,并且 rowsAffected 属性会精确反映已删除的行数
private function updateData():void
{
var stmt:SQLStatement = new SQLStatement();
stmt.sqlConnection = con;
stmt.text="update emp set lastName=:lastName where salary=:salary";
stmt.parameters[":lastName"]="la";
stmt.parameters[":salary"]=88;
stmt.execute();
var result:SQLResult = stmt.getResult();
var count:Number = result.rowsAffected;
Alert.show("成功修改"+count.toString()+"行");
}
代码说明:
把salary=88的lastName修改为"la"
发表评论
-
图片遮罩
2011-11-25 18:03 1163<mx:Canvas width="10 ... -
Flex:使用ArrayCollection过滤Tree
2011-11-16 14:22 1430Flex中的 Tree 是很难被过滤的,因为它们包 ... -
datagrid中滚动条问题
2011-11-14 18:26 3687经常有人在看了前面写的《Flex实现多文 ... -
flex 弹出菜单
2011-11-04 14:38 1232<?xml version="1.0" ... -
AIR管理文件关联, 指定文件默认打开方式
2011-10-30 17:50 2317参考:http://help.adobe.com/zh_CN/ ... -
如何区分不同的订阅者。以便实现个性化订阅。
2011-10-28 04:12 1603参考文章 http://hi.baidu.com/wos ... -
在messaging服务中的服务端的一些属性的说明
2011-10-27 03:29 1122Subscription-timeout-minutes:在这 ... -
Flex事件冒泡机制
2011-09-28 23:22 2765在网上浏览了几篇文章,大体总结了一下,简单说明如下: 事 ... -
Adobe Flex迷你教程 -- 合理使用Module分割项目以及对Module的使用
2011-09-26 15:27 1060现在说说Module,这篇教程代码不是最重要的,怎么样合理的使 ... -
12条有用的Flex代码
2011-09-19 21:46 10521.复制内容到系统剪贴板 System.setClipbo ... -
Flex中的 for in 与 for each in
2011-09-12 19:07 1192for...in循环中的迭代变量是对象中的键名(Flex中 ... -
Flex AIR)创建“不规则形状”的Air透明窗体(二)--使用Flex SDK4.5.1
2011-09-10 15:53 2456在此之前,我曾写过一篇关于《创建“不规则形状”的Air透明 ... -
Flex Application 初始化顺序
2011-09-08 16:12 1469Flex应用程序共由两帧组成,第1帧为preloader部分, ... -
Adobe Flash Builder的强大功能--移动设备控制桌面Apps
2011-09-08 14:29 1014这个视频中,Adobe平台技术经理Tomas Krcha将会给 ... -
利用AIR的ServerSocket类让 AIR 做socket服务器
2011-08-30 16:13 5860新的air sdk 新增了 ServerSocket类, ... -
Fms3和Flex打造在线多人视频会议和视频聊天(附原代码)<视频聊天,会议开发实例3>
2011-08-27 14:06 1747本篇是视频聊天,会议 ...
相关推荐
本示例着重于“Air Flex Sqlite通信”,即如何在Adobe AIR应用中使用Flex与SQLite数据库进行交互。 SQLite是一个轻量级的、自包含的、无服务器的SQL数据库引擎,被广泛用于移动应用和嵌入式系统。在Adobe AIR中,...
"flex4.6 air 异步操作sqlite数据库"的主题着重于如何在Flex 4.6和Adobe AIR环境中实现非阻塞的SQLite数据库操作。在传统的同步操作中,程序会等待数据库操作完成才会执行下一步,这可能导致用户界面冻结,尤其是在...
《Flex用户信息管理示例:Cairngorm+AIR+SQLite数据库详解》 在现代软件开发中,用户信息管理是一项核心功能,对于任何系统来说都至关重要。本示例以Flex技术为基础,结合Cairngorm框架和Adobe Integrated Runtime ...
标题中的“两个 AIR SQLite 例子”指的是使用Adobe Integrated Runtime (AIR) 平台与SQLite数据库交互的两个实际应用示例。SQLite是一个轻量级、自包含的数据库引擎,常用于桌面应用程序,包括那些使用Adobe AIR开发...
在Adobe Flex和Adobe AIR应用开发中,SQLite数据库是一种常见的本地数据存储解决方案。SQLite是一个轻量级、无服务器、自包含的SQL数据库引擎,非常适合在桌面和移动应用程序中使用。本文档介绍了一个名为AIRSQLite...
标题中的“action的使用之AIR操作本地数据库sqlite的示例”指的是使用ACTION(ActionScript)编程语言,通过Adobe AIR平台来操作本地的SQLite数据库。ACTION通常用于创建富互联网应用程序(RIA),而Adobe AIR则允许...
本教程将通过一系列实例,包括创建数据库、创建表、插入数据、查询数据、更新数据和删除数据,以及事务处理等,全方位展示如何在Flex Air应用中有效利用SQLite。 总结,SQLite在Adobe Air中的应用是提升Flex桌面...
标题"FLEX AIR 连接local SQL database"涉及的是使用Adobe Flex AIR应用与本地SQL数据库进行交互的技术要点。Flex是Adobe开发的一种开源框架,用于构建富互联网应用程序(RIA),而AIR(Air for Desktop)则允许Flex应用...
在移动应用开发领域,SQLite是一个非常常见的轻量级数据库,尤其在Adobe Air(ActionScript 3.0的富互联网应用程序运行时)中,SQLite被广泛用于存储和管理应用程序数据。本文将深入探讨Air SQLite工具及其源码,...
2. **表管理**:提供创建、修改和删除表的接口,同时支持查看表结构、导入导出数据,以及执行SQL脚本操作。 3. **查询编辑器**:内置了SQL查询编辑器,支持编写复杂的SQL语句,进行数据查询、更新、插入和删除操作。...
在使用Adobe Integrated Runtime (AIR)进行应用程序开发时,SQLite数据库是一种常见的本地数据存储解决方案。SQLite是一个轻量级、无服务器、自包含的数据库引擎,适合嵌入式系统,如桌面应用或移动应用。本文将介绍...
在这个"SQL.rar_flex_flex_air"主题中,我们主要探讨的是如何在Adobe AIR应用中使用本地SQL数据库。 Adobe AIR内置了SQLite数据库引擎,这是一个轻量级、无服务器、自包含的关系型数据库,适合用于桌面应用的数据...
在本文档中,我们探讨了如何在Adobe Integrated Runtime (AIR)环境中使用Flex来操作本地数据库。Flex是一个基于ActionScript 3.0的框架,而AIR则允许开发人员创建桌面应用程序,其中可以包括对本地资源如数据库的...
《flash+flex+air移动开发入门经典——适用于android、ios和blackberry》 第1章 flash、flex和air简介 1 1.1 adobe flash 1 1.2 actionscript 3.0 2 1.2.1 ecmascript 2 1.2.2 关键概念 3 1.3 flex框架 11 ...
在IT行业中,数据库连接是应用程序开发中的重要环节,特别是在使用ActionScript(AS)进行富互联网应用(RIA)开发时。本示例“as连数据库示例”主要关注如何使用ActionScript 3(AS3)与MySQL数据库进行交互,实现...
在AIR应用中实现CRUD(Create、Read、Update、Delete)操作,通常涉及到本地数据库(如SQLite)的使用,以及数据绑定、事件监听等技术。 ### 15. Flex中的弹窗和对话框 Flex提供了多种弹窗和对话框控件,如Alert、...
Flex是一种用于构建Web应用程序的技术,它结合了MXML(标记语言)、ActionScript(编程语言)以及强大的Adobe Flash Player运行环境。Flex使得开发者能够创建出功能强大且视觉效果丰富的用户界面。 ##### 2. 开发...