websql
Posted yanhuang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了websql相关的知识,希望对你有一定的参考价值。
使用HBuider写了一个测试websql的app,发现一个问题:同样的sql语句在chrome中可以成功执行,在ios app中就报错,记录一下。
function websqlCreateTable(tablename){ var creatTableSQL = ‘CREATE TABLE IF NOT EXISTS ‘+ tablename+‘ (rowid INTEGER PRIMARY KEY AUTOINCREMENT,NAME,AGE,HEIGHT,WEIGTH)‘; dataBase.transaction(function(ctx,result){ ctx.executeSql(creatTableSQL,[],function(ctx,result){ alert("表创建成功:"+tablename); },function(tx,error){ alert("表创建失败:"+tablename+" " +error.message); }); }); } function websqlInsertDataToTable(tablename,name,age,height,zhong){ var insertTableSQL=‘INSERT INTO ‘ + tablename + ‘ (name,age,height,weigth) VALUES (?,?,?,?)‘ var ret = 0; dataBase.transaction(function(ctx){ ctx.executeSql(insertTableSQL,[name,age,height,zhong],function (ctx,result){ console.log("插入" + tablename + name + "成功"); }, function (tx, error) { alert(‘插入失败: ‘ + error.message); console.log(error.message); ret = 1; }); }); return ret; }
以上代码在iso app中能成功执行。
如果将最后一个字段值 weigth改为其他名称,如:web, APP就报错了 could not prepare statement (1 table websqlTable has no column named web),,但是在chrome中调试时可以的。很奇怪,没找到解决办法,希望知道的能回复下。
以上是关于websql的主要内容,如果未能解决你的问题,请参考以下文章