2013-11-25 25 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