2012-05-16 10 views
2

我正在構建一個HTML5/Phonegap移動應用程序,並且我想通過WebSQL使用現有的SQLite數據庫。 通過「現有」數據庫,我的意思是我已經創建了應用程序外部的db.sqlite文件。我這樣做是因爲有幾個表,它預填充了一些數據。 我想要做的就是這個數據庫文件複製到我的項目,能夠使用JavaScript打開它就像這樣:如何打開現有的WebSQL數據庫?

var db = openDatabase('mydb', '1.0', 'my first database', 2 * 1024 * 1024); 

好像這個命令只能創建一個新的數據庫或打開已創建的現有數據庫用這個命令。 如果可以打開在我的應用程序之外創建的數據庫,我該如何打開它?我怎樣才能設置數據庫路徑,文件名等?

感謝您的任何幫助。

+0

可能重複[接入預填充SQL精簡版數據庫中的PhoneGap(http://stackoverflow.com/questions/9061112/access-pre-populate -sql-lite-db-in-phonegap) –

+0

http://stackoverflow.com/a/9066600/41679 –

+0

謝謝...以前的搜索沒有給我帶來這個問題。 – Ecil

回答

0

WebSQl有這個問題。沒有版本打開數據庫,然後做版本的遷移,例如:

var db = openDatabase('mydb', '', 'my first database', 2 * 1024 * 1024); 

if (db.version != '1.0) { 
    ... 
} 
+0

你是否也可以包含遷移該版本的行?我們在這裏做這個是因爲我們需要sqlite3嗎?數據庫遷移後 - 我假設sqlite3(正確?) - 那麼我們如何打開或訪問外部創建的sqlite文件?我想如果你能回答這些額外的問題,那麼我會試試看。如果它有效,我會給你的答案投票。 –

+0

對於數據填充見http://stackoverflow.com/questions/9061112/access-pre-populate-sql-lite-db-in-phonegap遷移類似於sqlite3,除了websql中沒有'ALTER TABLE'。你仍然可以使用'DELETE COLUMN,ADD COLUMN'等。在這些極端的遷移情況下使用'DROP TABLE'和'CREATE TABLE'。 –