问题
当执行AIR应用程序的时候,我们连接到数据库文件并创建相同的表,这样肯能丢失数据。
解决
解决这个问题的简单的办法是,验证是否表被创建到数据库文件时使用了SQLite指令IF NOT EXISTS。
详细描述
解决这个问题的一种方法是下面这段代码。第一个函数仅仅连接到database.db,第二个函数在数据库文件中创建表。通常我们创建一个表,不验证是否表已经创建到文件database.db,我们仅仅使用了SQLite指令的CREATE TABLE,但是运行应用程序时它总是创建表。使用 IF NOT EXISTS 我们就可以解决。
代码
private function init():void
{
conn = new SQLConnection();
try
{
var dbFile:File = File.applicationStorageDirectory.resolvePath("database.db");
conn.open(dbFile);
}
catch (error:SQLError)
{
trace("Error opening database");
trace("error.message:", error.message);
trace("error.details:", error.details);
return;
}
createTable();
}
private function createTable():void
{
createStmt = new SQLStatement();
createStmt.sqlConnection = conn;
var sql:String = "";
sql += "CREATE TABLE IF NOT EXISTS rssURL (";
sql += " id INTEGER PRIMARY KEY AUTOINCREMENT,";
sql += " postName TEXT,";
sql += " postURL TEXT,";
sql += " postText TEXT";
sql += ")";
createStmt.text = sql;
try
{
createStmt.execute();
}
catch (error:SQLError)
{
trace("Error creating table");
trace("CREATE TABLE error:", error);
trace("error.message:", error.message);
trace("error.details:", error.details);
return;
}
}
分享到:
相关推荐
SQLite是一个轻量级、无服务器、自包含的SQL数据库引擎,非常适合在桌面和移动应用程序中使用。本文档介绍了一个名为AIRSQLite的操作类,以及如何简单地使用它来执行基本的SQLite操作。 AIRSQLite类是专门为AIR环境...
例如,`AIRSQLite.setLocalSQLServer("d:/test.db")`将在D盘根目录下创建一个名为`test.db`的SQLite数据库。`SQLConnection`对象`localSQLServer`用于存储数据库连接信息。 2. **执行SQL语句** - `executeSql(conn...
2. **数据库连接**:在Flex应用中,创建一个SQLite连接对象,指定数据库文件的位置。如果数据库尚未存在,SQLite会自动创建。 3. **SQL操作**:使用AS3接口执行SQL命令,如`CREATE TABLE`,`INSERT INTO`,`SELECT`...
1. **SQLite数据库连接**:首先,你需要创建一个SQLite数据库连接对象,这是与SQLite数据库交互的基础。在AS3中,你可以使用`flash.data.SQLConnection`类来完成这一步。 2. **打开数据库**:使用`SQLConnection`...
1. **初始化SQLite数据库**:使用`SqlService`的`createDatabase()`方法创建或打开一个SQLite数据库文件。 2. **定义SQL语句**:创建`SqlStatement`对象,设置SQL查询或命令,如`SELECT`, `INSERT`, `UPDATE`, 或 `...
总结来说,"Flex4.6手机项目预载外部sqlite数据库"是一个旨在提高用户体验的策略,通过预先准备和复制SQLite数据库到应用存储目录,确保数据的即时可用性。这一方法适用于那些需要大量初始数据或者复杂数据结构的...
1. **图形化界面**:Lita通过提供一个友好的图形用户界面(GUI),使SQLite数据库的管理和操作变得更加直观和简单。对于非技术用户来说,这是一个非常有用的工具。 2. **加密功能**:Lita可能支持对SQLite数据库...
通常,开发者会先导入所需的库,如`flash.data.SQLConnection`和`flash.data.SQLStatement`,然后创建一个SQLConnection对象来建立到SQLite数据库的连接。接着,可以编写SQL语句并使用SQLStatement对象来执行它们。...
SQLite则是一个轻量级的、自包含的、无服务器的SQL数据库引擎,适用于移动设备和嵌入式系统。 在Flex中,SQLite数据库可以通过AS3SQLConnection类来访问。这个类提供了连接、执行SQL语句、处理结果集等方法。以下是...
2. **配置连接**:创建一个SQLConnection对象,并设置其URL属性为本地SQLite数据库的路径。例如:"sqlite:databasePath=path/to/your/database.db"。 3. **打开连接**:使用SQLConnection对象的connect()方法打开...
在Flex中,你可以创建一个`RemoteObject`实例,配置其`endpoint`指向这个Java服务,然后调用服务中的方法,如`queryDatabase`,以执行数据库查询。 ```actionscript var remoteObject:RemoteObject = new ...
Adobe Air是Adobe公司推出的一个开发跨平台桌面应用程序的框架,它允许开发者使用Web技术(如HTML、CSS、JavaScript以及Flex)来构建桌面应用。SQLite的引入使得Air应用可以本地化存储数据,无需网络连接即可实现...
Flex Air是中国Adobe公司开发的一款基于Flash技术的富互联网应用程序(RIA)开发平台,它允许开发者创建可以在桌面运行的跨平台应用程序。本“Flex Air中文官方帮助文档”是开发者的重要参考资料,详细介绍了Flex ...
"放到环境下即可运行"暗示了这个项目可能是自包含的,只需要一个支持PHP运行的环境(如Apache或Nginx服务器搭配PHP解释器)和Flex运行环境(Flash Player或Adobe AIR),就可以在Web上部署并运行。 在【压缩包子...
在IT领域,尤其是在Web开发中,Adobe AIR(Adobe Integrated Runtime)是一个重要的跨平台框架,它允许开发者构建桌面应用程序,利用Web技术如HTML、CSS、JavaScript以及Flex或ActionScript。在这个"SQL.rar_flex_...
本文将深入探讨“flex 與 rails 開發的問題單管理sample”这一主题,帮助读者理解如何结合这两种技术来创建一个高效的问题单管理系统。 Flex是一种基于Adobe AIR(Adobe Integrated Runtime)的开发框架,主要使用...
对于学习FLEX和想深入理解RIA开发的人来说,这样的实践项目是一个极好的学习资源。通过对源代码的逐行解读和功能测试,我们可以深化对FLEX编程模式和架构设计的认识,同时也能提升解决问题和调试代码的能力。
Flex是ActionScript 3.0的一个开源框架,主要用于构建富互联网应用程序(RIA),它允许开发者创建具有动态交互界面的Web应用。 在Flex4简易书店中,你可以看到以下几个核心知识点: 1. **Flex SDK和Flash Builder*...
在IT行业中,创建一个灵活且用户友好的图片展示平台是至关重要的,特别是在互联网内容分享日益丰富的今天。"Flex相册,图片展示"这个项目恰好满足了这一需求,它结合了强大的Flex技术,提供了类似163相册的用户体验...
- **Flash Builder**:一个集成开发环境(IDE),专门用于开发Flex和ActionScript应用程序。 - **ActionScript**:一种强大的面向对象编程语言,是Flash平台的基础,常用于创建交互式内容和应用程序。 #### 三、入门 ...