A.Flex Air开发SQLite小结

1.sqlite各语句间用分号间隔

例如:select from tablea;select from tableb;

2.关于Flex中用一个SQLStatement执行多条SQL的代码的问题

有些时候我们可能一次执行多条SQL,不过比较遗憾的是一个SQLStatement只会执行第一个SQL。

下面是一段简单的代码可以帮你解决这个问题,不过需要在SQL件用’;'划分:

try {
      // Separate all statements
       var parts:Array = createSQL.split( ');' );
      for( var i:int; i<parts.length; i++ ) {
         // _disibledevent= parts[i] ) {
             createStmt.text = parts[i] + ');';
             createStmt.execute();  
         }
      }  
   } catch( error:SQLError ) {
       // something failed...
   }

具体文章可以看

B.SQLite开发工具

SQLite Spy

http://www.yunqa.de/delphi/sqlitespy

一个非常不错的SQLite Database Explorer and Query Analyzer。不需要安装。 强烈推荐这个,我自己也用.

DBTools Manager

http://www.dbtools.com.br/

有免费版本的多数据库管理器,同时支持SQLite

Aqua Data Studio

http://www.aquafold.com/

有很多功能支持很多数据库的一个软件,可以通过JDBC或ODBC来支持SQLite查询。

还有SQLite Administrator,后来发现Firefox的插件(addons) Sqlite Manager也是不错的选择。

C.SQLite与Sql Server的语法差异

1.返回最后插入的标识值
返回最后插入的标识值sql server用@@IDENTITY
sqlite用标量函数LAST_INSERT_ROWID()
返回通过当前的 SQLConnection 插入到数据库的最后一行的行标识符(生成的主键)。此值与 SQLConnection.lastInsertRowID 属性返回的值相同。

2.top n
在sql server中返回前2行可以这样:
select top 2 * from aa
order by ids desc

sqlite中用LIMIT,语句如下:
select * from aa
order by ids desc
LIMIT 2

3.GETDATE ( )
在sql server中GETDATE ( )返回当前系统日期和时间
sqlite中没有

4.EXISTS语句
sql server中判断插入(不存在ids=5的就插入)
IF NOT EXISTS (select * from aa where ids=5)
BEGIN
insert into aa(nickname)
select 't'
END
在sqlite中可以这样
insert into aa(nickname)
select 't'
where not exists(select * from aa where ids=5)

5.嵌套事务
sqlite仅允许单个活动的事务

6.RIGHT 和 FULL OUTER JOIN
sqlite不支持 RIGHT OUTER JOIN 或 FULL OUTER JOIN

7.可更新的视图
sqlite视图是只读的。不能对视图执行 DELETE、INSERT 或 UPDATE 语句,sql server是可以对视图 DELETE、INSERT 或 UPDATE

最后推荐几个好站点对开发sqlite有帮助:

sqlite官方站

http://www.sqlite.org/

SQL Syntax

http://www.sqlite.org/lang.html

sqlite中文站

http://www.sqlite.com.cn/

http://www.sqlitechina.org/

Adobe AIR 包括创建和使用本地 SQL 数据库的功能

http://help.adobe.com/zh_CN/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118676a5497-7fb4.html

Adobe AIR 语言参考本地数据库中的 SQL 支持

http://help.adobe.com/zh_CN/AIR/1.5/jslr/index.html?localDatabaseSQLSupport.html