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的主要内容,如果未能解决你的问题,请参考以下文章

websql操作类封装

webSQL的基本操作

Websql不适用于phonegap构建

在PhoneGap中访问WebSQL数据库对象

如何使用 Kendo UI 查询本地 websql 数据库

WebSQL 错误回调中的“无法读取未定义的属性‘消息’”