【问题标题】:insert a record in sqliteDB using ionic framework使用 ionic 框架在 sqliteDB 中插入记录
【发布时间】:2016-07-12 03:22:11
【问题描述】:

我尝试在 Sqllite Db 中插入一条记录并尝试在其中查看它

用于 SQLlite 的数据库浏览器。 错误:数据库打开:soora.db 没有这样的表 UserSignIn

我创建了一个数据库和一个名为“UserSignIn”的表,并将该文件放入 www 文件夹。我在安卓平台上运行这个。

js文件:

   .controller('LoginCtrl', function($scope, $state, $cordovaSQLite) {
     $scope.insert = function(username,password,email,mobile) {
            var db =  window.sqlitePlugin.openDatabase({name: "soora.db",createFromLocation: 0});
            db.transaction(function(tx) {                                                                                                                                              
            var query = "INSERT INTO UserSignIn(username, password,email,mobile) VALUES (?,?,?,?)";
                  tx.executeSql(query, [],function(tx,res) {
                    console.log("INSERT ID -> " + res.insertId);
                    $scope.statusMessage = "Data saved successful, cheers!";
                },
                function (err) {
                    $scope.statusMessage = "Error on saving: " + error.message;
                    console.error(err);
                });
            });
        } 

【问题讨论】:

  • 您是在设备还是模拟器中尝试这个?
  • 是的,我正在使用模拟器(Geny Motion)。
  • 那你需要使用$cordovaSQLite,我把这个放在答案上。

标签: javascript sqlite ionic-framework


【解决方案1】:

你需要像这样进行交易:

 var deferred = $q.defer();    
 $cordovaSQLite.execute(db, query, [])
     .then(function (res) {
          deferred.resolve(res);
      }, function (error) {
           deferred.reject(error);
 });
 return deferred.promise;

另外,当设备时,打开数据库:

db = $cordovaSQLite.openDB("TrivialLite.db");

【讨论】:

    猜你喜欢
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多