2014-02-13 29 views
1

我有一个使用WebSQL的应用程序。我也想支持IndexedDB(对于没有WebSql支持的浏览器)。有没有使用sql-syntax但在后台使用indexedDB/LocalStorage的库?IndexedDb上的WebSQL语法

我不想改变我所有的查询和函数。

我发现的所有库都使用IndexedDb语法并支持WebSql。 (不是我所需要的)。

谢谢:)

+0

这个例子玩看看http://jsstore.net/。它提供了sql语法。 –

回答

1

您可以尝试Alasql JavaScript SQL数据库库。它支持所有重要的SQL 语句,并且可以与SQL语法一起使用IndexedDB。

下面是一个例子:

<script src='alasql.min.js'></script> 
<script> 
    var cityData = [{city:"Redmond", population:57530}, 
     {city:"Atlanta",population:447841}, 
     {city:"San Francisco", population:837442}]; 

    // Create IndexdDB database and fill it with data from array 
    alasql('CREATE INDEXEDDB DATABASE IF NOT EXISTS geo;\ 
     ATTACH INDEXEDDB DATABASE geo; \ 
     USE geo; \ 
     DROP TABLE IF EXISTS cities; \ 
     CREATE TABLE cities; \ 
     SELECT * INTO cities FROM ?', [cityData], function(){ 

     // Select data from IndexedDB 
     alasql('SELECT COLUMN * FROM cities WHERE population > 100000 ORDER BY city DESC', 
      [],function(res){ 
       document.write('Big cities: ', res.join(',')); 
     }); 
    }); 
</script> 

可以在jsFiddle