2012-03-05 4 views
1

私は次のコードを使ってデータベースからデータを取得し、その内容をリストビューに表示しています。しかし、私は、アプリケーションが読み込まれるたびにデータベースを作成したくない...私はそれを一度作成したい...しかし、アプリケーションが閉じられるたびに、データベースが削除されます。次の時間にデータを作成せずにデータを追加できるようにしておきます。Android Phonegapデータベース

var arr = new Array(); 
var a; 
var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000); 
db.transaction(populateDB, errorCB, successCBc); 
function populateDB(tx) { 
    tx.executeSql('DROP TABLE IF EXISTS CUSTOMER'); 
    tx.executeSql('CREATE TABLE IF NOT EXISTS CUSTOMER (phno unique, fname, mname, lname, address, email)'); 
    tx.executeSql('INSERT INTO CUSTOMER (phno, fname, mname, lname, address, email) VALUES (16, "shank","p","ram","addresssss","emailaddress")'); 
}; 
function queryDB(tx) { 
    tx.executeSql('SELECT * FROM CUSTOMER', [], querySuccess, errorCB); 
} 
function querySuccess(tx, results) { 
    var len = results.rows.length; 
    for (var i=0; i<len; i++){ 
    $('#home').append('<li><a href="#artists">'+results.rows.item(i).phno+'<br>'+results.rows.item(i).fname+'</a></li>').listview("refresh"); 
    } 
}; 
function errorCB(err) { 
    console.log("Error processing SQL: "+err.code); 
} 
function successCBc() { 
    var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000); 
    db.transaction(queryDB, errorCB); 
}; 

答えて

0

コードごとに、populateDB()にテーブルを削除します。 populateDB()から次の行を削除して、データベースの状態を再度確認してください。また

tx.executeSql('DROP TABLE IF EXISTS CUSTOMER'); 

表からユニーク制約を削除するスクリプトを作成するには、次の

var randomId = new Date().getTime(); 
tx.executeSql('INSERT INTO CUSTOMER (phno unique, fname, mname, lname, address, email) VALUES ("'+ randomId +'", "shank","p","ram","addresssss","emailaddress")'); 

で次で既存のコードを置き換えどちらかもjQueryのモバイルライブラリが正常にロードされ、それ以外の場合は、最初のレコードだけを印刷することを確認し、実行を停止します。

+0

も試してみました... –

+0

は私のすべてのレコードを表示しています。私はコード全体を答えに入れてみましょう – dhaval

+0

これをチェックしてください[http://jsfiddle.net/dhavaln/DFUNK/](http://jsfiddle.net/dhavaln/DFUNK/) – dhaval

1

Prepopulate SQLite DataBase in PhoneGap Application

このリンクはあなたを助けるでしょう。

+0

私はあなたの答えを編集できません何らかの理由で。 URLを入力すると自動的にリンクがマークアップされます。 markdownを使用すると、脚注リンクを使用して説明へのリンクを追加できます。現在、リンクのデフォルトの説明があります。あなたはリンクをより詳しく記述できますか? 「この記事では、PhoneGap用にSQLite DBをあらかじめ準備しておく」などの記事があります。 –

2

コードから行を削除すると動作します!

tx.executeSql( 'DROP TABLE IF EXISTS CUSTOMER');

関連する問題