【问题标题】:Issue with insert query in sqlite? (Values are not inserted)在 sqlite 中插入查询的问题? (未插入值)
【发布时间】:2014-04-02 05:28:26
【问题描述】:

我是 Sqlite 的新手,我无法在 DB 中插入值,通过以下代码创建了数据库和表,但没有插入值,我的代码有什么问题?有什么建议么!!!我可以看到警报值已存储但无法在表数据中看到。

     $("#btnDefaultSave").click(function(){
              var Latlongs = "Test1";
              var Location = "Test2";
              var Category = "Test3";
              var Address = "Test4";
              var db = window.sqlitePlugin.openDatabase({name: "TestDB"});
              db.transaction(function (tx) {
   tx.executeSql('CREATE TABLE IF NOT EXISTS Locationlog (id INTEGER PRIMARY KEY, Coordinates TEXT, Location TEXT, Category TEXT, Address TEXT)');
          });
     db.transaction(function (tx){
tx.executeSql('INSERT INTO Locationlog (Coordinates, Location, Category, Address) VALUES ('+Latlongs+', '+Location+', '+Category+', '+Address+')');
                                                                        alert("values are stored");
                                                                        });

                                                        });

【问题讨论】:

  • Id 没有插入,你必须保持自动生成。你已经给出了主键,,但不是自动递增。在创建表时搜索你必须这样做
  • 在您的创建表查询中使用 AUTOINCREMENT,例如 CREATE TABLE IF NOT EXISTS Locationlog (id INTEGER PRIMARY KEY AUTOINCREMENT , Coordinates TEXT, Location TEXT, Category TEXT, Address TEXT)');
  • 会尝试您的建议并让您知道
  • 我也试过了,还是不行..
  • user3300593,在尝试使用自动增量的想法之前,您是否删除了表格?在一个事务中执行两条 SQL 语句也会更好

标签: javascript cordova sqlite android-sqlite


【解决方案1】:

我已将插入查询的格式更改如下,

     db.transaction(function (tx){

  tx.executeSql('INSERT INTO Locationlog (Coordinates, Location, Category, Address) VALUES (?,?,?,?)',[Latlongs,Location,Category,Address]);
   alert("values are stored");
       });

【讨论】:

    【解决方案2】:

    在您的情况下,当显示“值已存储”消息时,“插入 ..”SQL 语句可能仍在执行。请检查数据库事务是否在成功回调中完成。

    db.transaction(function (tx) {
           tx.executeSql('INSERT INTO Locationlog (Coordinates, Location, Category, Address) VALUES (?,?,?,?)',[Latlongs,Location,Category,Address]);
        }, function successCB() {
           alert("values are stored!");
        }, function errorCB() {
           alert("Error!");
        }
    );    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-20
      • 2020-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多