1. db的范围是什么?
2.当它被摧毁?
3.如何检查数据库是否存在?
var db = window.openDatabase("Database", "1.0", "MyApp", 900000);
db.transaction(populateDB, errorCB, successCB);
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS PRICE2');
tx.executeSql('CREATE TABLE IF NOT EXISTS PRICE2 (id ,P2_ID,P2_1,P2_2,P2_3,P2_Title,P2_Type,P2_ToType,P2_Up,P2_UpType,PP2_PriceTo,PP2_PriceUp,image)');
var theResults = vData.results;
for(var i=1 ; i < theResults.length ; i++){
tx.executeSql('INSERT INTO PRICE2 (id ,P2_ID,P2_1,P2_2,P2_3,P2_Title,P2_Type,P2_ToType,P2_Up,P2_UpType,PP2_PriceTo,PP2_PriceUp,image) VALUES (' + theResults[i].ID + ', "' + theResults[i].P2_ID + '", "' + theResults[i].P2_1 + '", "' + theResults[i].P2_2 +'", "' + theResults[i].P2_3 +'", "' + theResults[i].P2_Title +'", "' + theResults[i].P2_Type +'", "' + theResults[i].P2_ToType +'", "' + theResults[i].P2_Up +'", "' + theResults[i].P2_UpType +'", "' + theResults[i].PP2_PriceTo +'", "' + theResults[i].PP2_PriceUp +'", "' + theResults[i].image +'")');
}
}
// Transaction error callback
//
function errorCB(tx, err) {
alert("Error processing SQL: "+err);
}
答案 0 :(得分:2)
我使用过websql。这是答案..
问 - db的范围是什么?
A - 我假设从'范围'你的意思是数据库可访问的位置。对于您的扩展,如果您在background.html中创建数据库,则只能在background.html中访问它。您可以使用其他技术从ext / app的其他页面访问您的数据库,例如message passing API和chrome.extension.getBackgroundPage
(recomended)。
A - 它将在app / ext uninstall / reinstall上销毁。注意:更新ext / app不会对db产生任何影响。
问 - 如何检查数据库是否存在?
A - 据我所知,没有必要'检查'。如果db不存在则调用window.openDatabase
,它将创建它,如果它存在,它将跳过创建部分并将值添加到db
var。