我试图保存sql文件中的指令,以便在phonegap中创建本地sqlite数据库。如果你认为你创建的数据库很好,我有这个功能
function populateDB(tx) {
var xhReq = new XMLHttpRequest();
xhReq.open("GET", "prueba.sql", false);
xhReq.send(null);
var r= xhReq.responseText;
var sentencias = r.split(";");
alert("SENT="+sentencias);
var aux="";
for (var i = 0; i < sentencias.length; i++) {
aux='"'+sentencias[i]+'"';
tx.executeSql(aux);
}
}
但是这个不要插入任何东西,你可以在浏览器中看到句子,但不要在数据库中做任何事情,数据库是空的。。。但如果你写:
tx.executeSql("INSERT INTO Linea VALUES(1,'Abretia 18','Atomoxetina','18 mg',NULL,NULL,'Oral','Cápsulas','7','Medicamento Controlado','cilindrico','blanco y bordeaux','N/A','N/A','N/A','N/A')");
这很好!!
为什么?如何解决问题?
在JavaScript中,引号"
用于区分字符串和变量名,但实际上并不是字符串的一部分。
当字符串已经在变量中时,不能插入额外的一对引号,因为这些引号最终会出现在数据库中。
直接执行字符串即可:
aux=sentencias[i];
tx.executeSql(aux);