2010-12-08 21 views
0

Je ne peux pas créer plus d'une table sur une application Chrome dadabase Voici un extrait du code:ne peut pas créer plus d'une table avec websql/Chrome

lk.webdb.open = function() { 
    var dbSize = 10 * 1024 * 1024; // 10MB 
    lk.webdb.db = openDatabase("SSW3", "1.0", "SEO SERP Workbench", dbSize); 
} 

lk.webdb.createTable = function() { 
var db = lk.webdb.db; 
db.transaction(function(tx) { 
    tx.executeSql("CREATE TABLE IF NOT EXISTS items (ID INTEGER PRIMARY KEY ASC, setid INTEGER , day DATETIME , engine TEXT, query TEXT , url TEXT , position INTEGER)", []); 
    tx.executeSql("CREATE TABLE IF NOT EXISTS sets (ID INTEGER PRIMARY KEY ASC, name TEXT)", []); 
    }); 
} 

Le tableau items est créé , s'il n'existe pas, la table sets ne sera jamais créée. De plus, avant d'essayer cela, je voulais créer plusieurs tables items, nommées items1, items2, etc. en fonction du projet utilisateur actif, mais encore une fois, quand la base de données n'a pas de tables, la première est créée, mais aucune autre . En regardant le web et les docs du W3C, je n'ai pas trouvé un seul exemple de création de plus d'une table, mais on dirait qu'une seule table peut être créée pour chaque DB (c'est absurde) ou je fais simplement des choses dans la mauvaise façon ...

Répondre

1

J'ai couru le code suivant et n'a eu aucun problème à créer les deux tables:
var db = openDatabase("SSW3", "1.0", "SEO SERP Workbench", 10 * 1024 * 1024);
db.transaction(function(tx) { tx.executeSql("CREATE TABLE IF NOT EXISTS items (ID INTEGER PRIMARY KEY ASC, setid INTEGER , day DATETIME , engine TEXT, query TEXT , url TEXT , position INTEGER)", []); tx.executeSql("CREATE TABLE IF NOT EXISTS sets (ID INTEGER PRIMARY KEY ASC, name TEXT)", []); });

+0

je parvins enfin à le tester, je l'ai passé la construction d'une base de données avec un nouveau nom et effacer le cache du navigateur avant d'exécuter le code ... – Omiod