База данных HTML5 для проверки существующей таблицы? - PullRequest
1 голос
/ 15 декабря 2010

Есть ли способ проверить, существует ли таблица внутри базы данных в локальной базе данных HTML5?

Мне нужно создать 9 таблиц, и этот метод будет запущен, когда документ будет готов.Если при каждом запуске страницы также вызывается один и тот же метод, не будет ли это пустой тратой памяти?Я использую его для мобильного устройства (iPhone).

Это код:

try{
                if(!window.openDatabase){
                    alert('DB not supported.');
                }else{
                    var shortName = 'abc';
                    var version = '1.0';
                    var displayName = 'ABC';
                    var maxSize = 3145728;
                    var tableName = ['business', 'politic', 'firstread', 'commentary','features', 'insiderasia', 'management', 'media'];
                    db = openDatabase(shortName, version, displayName, maxSize);

                    $.each(tableName, function(theCount, value){
                        db.transaction(
                            function(transaction){
                                transaction.executeSql('CREATE TABLE IF NOT EXISTS '+  value +' (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, link TEXT NOT NULL, title TEXT NOT NULL, author TEXT NOT NULL, pubdate TEXT NOT NULL, imgLink TEXT NULL, desc TEXT NOT NULL, day TEXT NOT NULL);');
                        });
                    });
                }
            }catch(e){
                if(e == INVALID_STATE_ERR){
                    console.log('invalid database version.');
                }else{
                    console.log('unknown error ' + e + '.');
                }
                return;
            }

1 Ответ

2 голосов
/ 15 декабря 2010

Для чего тебе это нужно? Если вы беспокоитесь о том, что вы можете воссоздать таблицу, которая уже существует в вашей базе данных, вам нужно создать таблицу с этим запросом SQL:

CREATE TABLE IF NOT EXISTS table_name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...