2011-08-04 6 views
1

1. dbの範囲は何ですか?html5 localstorage dbスコープとは何ですか?

2.それが破壊されたら?

3.DBが存在するかどうか調べるには?

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); 
} 

答えて

2

私はwebsqlで作業しました。ここに答えがあります。

Q - dbの範囲は何ですか?

A - 私は 'scope'からあなたがどこにアクセス可能であるかを想定しています。拡張機能については、background.htmlでdbを作成すると、background.htmlでしかアクセスできません。 message passing APIchrome.extension.getBackgroundPagerecomended)のようにext/appの他のページからdbにアクセスするために他のテクニックを使用することができます。

Q - 破壊されたとき?

A - app/extのアンインストール/再インストール時に破棄されます。注:ext/appの更新はdbに影響しません。

Q - データベースが存在するかどうかを確認する方法?

A - 私が知っているところから、「確認する」必要はありません。 dbが存在しない場合はを呼び出して作成し、存在する場合は作成部分をスキップしてdb varに値を追加します。

EDIT:このような基本的な質問に対する回答を見つけることができないということも、イライラしました。私はtwitter/googleグループ/フォーラム/ html5rocks.comのコメントが失敗したときにIRCに人々に尋ねることになってしまいました...:P IRCが、いつも迅速なオンザスポット回答のための最後の、フォーラムサイトで回答を待つ:

関連する問題