質問

I have an application that use WebSQL. I want to support IndexedDB too (For Browsers without WebSql support). Is there any libary that use sql-syntax but works with indexedDB / LocalStorage in background?

I don't want to change all my querys and functions.

All libraries i found uses IndexedDb syntax and support WebSql. (Not what I need).

Thanks :)

役に立ちましたか?

解決 2

You can use my library, ydn-db, for very simple sql query, which works with any web database.

For near full support for SQL, check out commercial SequelSphere js library http://www.sequelsphere.com/docs/latest/doc/Supported%20SQL.html. Unfortunately query execution is in-memory currently. Pricing is outrageously greedy.

他のヒント

You can try Alasql JavaScript SQL database library. It supports all important SQL statements and can work with IndexedDB with SQL syntax as well.

Here is an example:

<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>

You can play with this example in jsFiddle

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top