标签: web-sql

web sql数据库外键支持

我在Safari 5.0.5中测试此语句,但在FOREIGN之前出现错误:

CREATE TABLE IF NOT EXISTS Idea (
    id INTEGER PRIMARY KEY,
    title TEXT NOT NULL,
    content TEXT NOT NULL,
    created TIMESTAMP NOT NULL,
    sketchID INTEGER,
    categoryID INTEGER NOT NULL, 
    FOREIGN KEY (sketchID) REFERENCES (Sketch),
    FOREIGN KEY (categoryID) REFERENCES (Category));
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

SQLStatementError 1 [DATABASE] near "(": syntax error
Run Code Online (Sandbox Code Playgroud)

这个SQL语句中的错误在哪里?

html5 foreign-keys web-sql

2
推荐指数
1
解决办法
5490
查看次数

我的全局变量在transcationSuccess回调中未定义 - 无法弄清楚原因

我正在使用Sencha touch,我正在尝试更新面板后,我从我的webdb获取数据...不会认为这会很难,但我完全错过了这里的东西......

var returnHTML = getPresentations();

function getPresentations() {
returnHTML = "<ul>";

db = openDatabase("myDB", "", "TheDB", 500000);     
db.transaction(
    function (tx) {
        tx.executeSql("SELECT title FROM Presentations",
            [],
            function (transaction, results) {
                var returnHTML = "<ul>";
                for (var i = 0; i < results.rows.length; i++) {
                    returnHTML += "<li>" + results.rows.item(i).title + '</li>';
                }
                returnHTML += "</ul>";
            },
            onError);
    },
        onTransactError,
        onTransactSuccess);
}

function onTransactSuccess() {
    alert(returnHTML);
    console.log(returnHTML);
    extPanel.update();
}
Run Code Online (Sandbox Code Playgroud)

但是returnHTML不断回归......不确定这里发生了什么.

我看它通过我的SELECT函数...它在完成之前是一个完整的字符串.我错过了什么?

javascript extjs web-sql

2
推荐指数
1
解决办法
394
查看次数

哪个版本的chrome/opera/firefox支持IndexedDb?

正如我在本页的评论中看到的那样,我无法理解如果chrome真的支持IndexedDB.

我要为chrome/opera/firefox编写一个用户脚本,并决定不使用localstorage,我只是想尝试使用IndexedDB而不是localstorage,但在开始编写脚本之前,我必须知道

哪个版本的chrome/opera/firefox支持IndexedDb?

谢谢.

html5 opera google-chrome web-sql indexeddb

2
推荐指数
1
解决办法
8443
查看次数

HTML 5网络数据库发生了什么?

我查看了网站http://www.w3.org/TR/webdatabase/,我看到那里有一个巨大的横幅

"请注意.此规范不再处于主动维护状态,Web应用程序工作组也不打算进一步维护它."

那是什么意思?我正在考虑使用此功能实现一些功能.但是如果不进行标准化(最终),我不想在其中实现某些东西.

你建议我继续努力吗?如果没有,是否有标准化的替代方案?或者它只是另一个被废弃的规格?

html5 web-sql

2
推荐指数
1
解决办法
312
查看次数

如何将websql .executeSql结果存储在全局变量中?

如何获得结果

tx.executeSql('select query for a table',[],sucessCB);
function sucessCB(tx, results){  //<--- this results param
    console.log(results.row.item(0).name);
}
Run Code Online (Sandbox Code Playgroud)

我尝试了类似的东西

function(){
    var tab = [];
    tx.executeSql('select query for a table',[],sucessCB);

    function sucessCB(tx, results){  //<--- this results param
        console.log(results.row.item(0).name);
        for(i=0;i<results.length;i++){
            tab.push(results.row.item(i))
        }
    }

    console.log(tab);  //<--- this returns always null
}
Run Code Online (Sandbox Code Playgroud)

如何在回调函数之外访问变量,或者是否有直接将sql结果存储在变量中的方法。有没有一种方法可以将变量再次发送到回调函数中

tx.executeSql('another select query',[],function(tx, results, tab ){  // <-- this inside sucessCB
console.log(tab);
});
Run Code Online (Sandbox Code Playgroud)

在所有情况下,变量均为null。还有另一种方法可以做到这一点。任何建议都会有所帮助,谢谢。

javascript callback web-sql cordova

2
推荐指数
1
解决办法
4302
查看次数

executeSql可以接受命名参数吗?

我在示例中看到,executeSql带有多个参数时,我们使用问号:

db.transaction(function(tx){
var addedOn = new Date();
tx.executeSql("INSERT INTO todo(todo, added_on) VALUES (?,?)",
    [todoText, addedOn],
    html5rocks.webdb.onSuccess,
    html5rocks.webdb.onError);
});
Run Code Online (Sandbox Code Playgroud)

可以executeSql接受命名参数吗?

javascript html5 web-sql

2
推荐指数
1
解决办法
2803
查看次数

WEB SQL SELECT TOP 1错误

当我尝试在TOP 1我的select语句中添加一个时,我一直收到错误.SQL运行正常没有,TOP 1所以它让我觉得TOPWEB SQL不支持但我找不到任何在线文档.

有没有人成功使用TOP过他们的WEB SQL?

这不起作用!

tx.executeSql('SELECT TOP 1 * FROM MyForms WHERE laganRef IS NOT NULL', [], trySend, errorHandler); 
Run Code Online (Sandbox Code Playgroud)

但是这个工作!

tx.executeSql('SELECT * FROM MyForms WHERE laganRef IS NOT NULL', [], trySend, errorHandler); 
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

史蒂芬

javascript html5 web-sql

2
推荐指数
1
解决办法
1519
查看次数

cordova android sql选择返回长度1但没有行

我正在开发的这个应用程序上有一些奇怪的行为.虽然在浏览器上测试一切似乎都运行良好,但我尝试在设备上部署我的应用程序进行测试,显然所有WebSQL相关工作都很好,直到我做一个选择.我在行上SQLResultSet返回length = 1,但那里没有行.我试图检查应用程序并查看chrome上的Resources选项卡并database创建了IS,实际上有一行.所以返回正确的长度而不是行.

有人有这样的事吗?

sqlite android web-sql cordova

2
推荐指数
1
解决办法
751
查看次数

从websql数据库中获取现有表

我想知道是否有可能从websql数据库中获取现有表.是否有某种查询来查找这些?

我已经找到了几个sqlite示例但这些在websql中不起作用.

javascript sql web-sql

1
推荐指数
1
解决办法
4871
查看次数

Safari中的WebSQL中的SELECT查询返回错误

这是有问题的代码.我一直在努力工作.

问题是,回调中的变量结果中没有任何行.但这仅存在于Safari中.Chrome运作完美.
Safari和Chrome上的数据库在数据库中显示正确的值.

结果变量中有一个有趣的属性:

SQLResultSet
insertId: Error: InvalidAccessError: DOM Exception 15
Run Code Online (Sandbox Code Playgroud)

但是行数组不存在.

db.transaction(function (tx) {
        tx.executeSql("INSERT INTO QUIZZES (id,name,completed,icon) VALUES (coalesce((SELECT max(id) FROM QUIZZES),0)+1,?,0,?)", [json.name,json.icon],
            function (tx, result) {
                console.log('Inserted Quiz. Selecting Quiz');

                tx.executeSql("SELECT * FROM QUIZZES ", [],
                    function (tx, result) {
                        console.log(result);
                        var quizid = result.rows[0].id;
                        console.log(quizid);
                    },
                    errorCB);
            });

    },
errorCB);
Run Code Online (Sandbox Code Playgroud)

我试过的是将我的代码从一个事务重新处理到通过db.transaction(...在回调中的多个单独的DB调用.
我还尝试重写查询本身,或编写将返回正确的查询结果100%的时间.然而,无处可去.

提前谢谢你的帮助

javascript sqlite safari web-sql cordova

1
推荐指数
1
解决办法
748
查看次数