2013-11-25 24 views
0

我在我的Javascript文件中執行以下命令。 直到現在還沒有插入表格和數據。 如果我在導入的文件中一次只寫入1個查詢,那麼它工作正常,但是當我想執行導入文件「Chinook_Sqlite.sql」中存在的所有查詢時,它不會執行任何操作。執行導入的sql文件

請給我建議的way.Thank你..

// Create sqlite database instance 
    var sqlitedb = openDatabase("Chinook", "", "Chinook", ''); 
    // Import the sql file 
    $.get("../Chinook_Sqlite.sql", function(content) { 
     // Start Transaction 
     sqlitedb.transaction(function (tx) { 
      // Start Execution 
      tx.executeSql(content); 
     }); 
    }); 

回答

0

你有沒有嘗試之前tx.executeSql(content);調用來檢查內容變量?你asyncroniously調用它,試圖將其改寫爲:

// Create sqlite database instance 
    var sqlitedb = openDatabase("Chinook", "", "Chinook", ''); 
    // Import the sql file 
    $.get("../Chinook_Sqlite.sql", function(content) { 
     var scriptContent = content; 
     // Start Transaction 
     sqlitedb.transaction(function (tx) { 
      // Start Execution 
      tx.executeSql(scriptContent); 
     }); 
    }); 
+0

當我有console.log(內容),然後它顯示我正確的查詢 – xTMNTxRaphaelx

+0

實際上,作爲CL寫道,executeSql只工作與單一查詢。您只需逐行解析您的quieries並單獨執行內部交易。 – maximus

0

executeSql執行一個SQL語句。

你必須從你的文件中提取SQL語句,併爲它們中的每一個調用executeSql

+0

我需要在我的DB中填充10個lacs數據。我無法單獨解壓縮它。建議我以某種方式。 – xTMNTxRaphaelx

+0

要問一個問題,請使用「Ask Question」按鈕。 –

+0

我寫過我當前的問題,我知道它不能在多個查詢上工作。它只處理單個查詢,我需要實現它的方式,但我還沒有找到解決方案。 – xTMNTxRaphaelx