【问题标题】:Phonegap-Android-sqlite using Javascript. How to connect?Phonegap-Android-sqlite 使用 Javascript。如何连接?
【发布时间】:2011-07-17 18:43:12
【问题描述】:

我是 Android-Phonegap 开发的新手。我在 Windows XP 中使用 Eclipse 创建一个项目。 我正在使用 sqlite 数据库。我看到了the sample code in the docs。但我无法执行这个例子。我没有得到所需的结果。

假设我想以表格格式 HTML 获取表格演示中的所有条目。 index.html 中的代码是什么?为此,执行此操作的程序是什么以及分步程序是什么?或者还有什么更好的教程可以帮助我做到这一点?

提前致谢

Dnyan。

【问题讨论】:

  • 你如何测试你的代码?

标签: javascript android database sqlite cordova


【解决方案1】:

在 main.js 中添加这个

rowsDataHandler = function(transaction, results) {
    // Handle the results
    var html = "<ul>";
    for (var i=0; i<results.rows.length; i++) {
        var row = results.rows.item(i);
        html += '<li>'+row['data']+'</li>\n';
    }
    html +='</ul>';
    document.getElementById("mydata").innerHTML = html;
}
// load the currently selected icons

loadRows = function(db) {
    try {
        db.executeSql('SELECT * FROM DEMO',[], rowsDataHandler, errorCB);
    } catch(e) {alert(e.message);}
}   

在 index.html 中,在正文中添加这一行

<div id="mydata"></div>

【讨论】:

    【解决方案2】:

    要记住的一点是,如果您不是在设备或模拟器中测试应用程序,而是在 Chrome 或 Safari 等浏览器中测试,

    document.addEventListener("deviceready", onDeviceReady, false);
    

    行不通。我所做的是注释掉这一行,然后打电话给

    onDeviceReady(); 
    

    当我在模拟器中测试时,我取消注释“document…”行并注释掉

    onDeviceReady();
    

    【讨论】:

      【解决方案3】:
       **html**
      
        <input id="show" type="button" value="Show">
      
       **js**
      
       function globalError(tx, error)
         {
           alert("Error: " + error.message);
         }
      
       var db = window.openDatabase('TabOrder', '', 'Bar Tab Orders', 2500000);
       db.transaction(function(tx) {
       tx.executeSql('DROP TABLE IF EXISTS SubmiteData;', null, null, globalError);
       tx.executeSql('CREATE TABLE IF NOT EXISTS SubmiteData (SubmiteDataId integer 
       primary  key, UserId text, AuthNo number, LocId number,ProdId number, 
       CardId number, OrgLat text, OrgLng text, OrgTime text)', 
                null, 
                function()
                {
                  SubmiteData("USER1",12345678,23434, 21212, 220232,
                  "9", "45", "23/06/2014");
      
                },
                globalError);
           });
      
          function SubmiteData(UserId, AuthNo, LocId,ProdId, CardId, OrgLat, OrgLng, OrgTime){
          db.transaction(function(tx){
          tx.executeSql('INSERT INTO SubmiteData(UserId, AuthNo, LocId, ProdId, CardId, 
          OrgLat, OrgLng, OrgTime) VALUES (?,?,?,?,?,?,?,?)', [UserId, AuthNo, LocId,
          ProdId, CardId, OrgLat, OrgLng, OrgTime], 
                  null,
                  globalError
                 );
           });
        }
      
      
         function read(UserId, AuthNo, LocId,ProdId, CardId, OrgLat, OrgLng, OrgTime){
      
         db.transaction(function(tx) {
         tx.executeSql('SELECT * FROM SubmiteData',
               [],
               function(tx, results)
               { 
                 for (var i=0; i<results.rows.length; i++) 
                 {   
                     var row=results.rows.item(i);
                    // alert("Id: " + row['UserId']);
                    var stringout = "LocId: " + row['LocId'] + "\n"; 
                     alert(stringout); 
                 } 
               },                
               globalError
              );
          });
         };
      
        $(function()
          {
           $('#show').click(read);
        });
      

      【讨论】:

        【解决方案4】:

        这是使用 javascript 连接到数据库的方法

        db = openDatabase("bprueba","1.0","Prueba_db",5*1023*1024);
        

        SQL Statement Error Callback Reference

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-21
          • 1970-01-01
          • 1970-01-01
          • 2012-05-20
          相关资源
          最近更新 更多