私はPhoneGapを使用してHTML5で書かれたモバイルアプリを持っています。アプリの一部では、次のようにSQLデータベースを使用しています。iPhoneで実行中のPhoneGapアプリケーションのSQLデータベースに問題があります
db = window.openDatabase("my_app_database", "1.0", "Description of my database about 50 chars long", 1000000);
$.get('db/app_data.dat',function(result){
var data = $.parseJSON(result);
if (!data) {
alert('Data error');
return false;
}
db.transaction(function(tx){
tx.executeSql('DROP TABLE IF EXISTS table_a');
tx.executeSql('DROP TABLE IF EXISTS table_b');
tx.executeSql('CREATE TABLE table_a (id INTEGER,name,html)');
tx.executeSql('CREATE TABLE table_b (id_a INTEGER, id_b INTEGER)');
});
db.transaction(function(tx){
$.each(data.item, function(i, v){
tx.executeSql('INSERT INTO table_a(id, name,html) VALUES (?,?,?)',[v.id, v.name, v.html]);
});
});
});
これは、問題なく完全に正常に動作します。しかしiPhone(4.0,4.2)では全く動作しません。 PhoneGapでのSQLデータベースのこの標準的な使用がiPhoneで何らかの問題を引き起こすのではないかというアイデアはありますか?注意すべきいくつかの制限がありますか?例えば。データベースの名前の制限、データベースのサイズの制限、またはクエリの制限?
EDIT:関連性があるかどうかわかりませんが、私は今このアプリケーションでPhoneGap v。0.9.5.1を使用しています。
ええと...私はHTML5に熱心ではありませんが、試してみることができます。データベースにフラグを追加して、アンドロイドの 'SQLiteDatabase.OPEN_READWRITE'のような変更を許可するものはありますか?私はあなたが書き込む特権を持っていますか?あなたはあなたがデータベースに接続できることを確認しましたか? –