📜  在PhoneGap中创建表并存储数据(1)

📅  最后修改于: 2023-12-03 15:23:25.413000             🧑  作者: Mango

在PhoneGap中创建表并存储数据

在开发移动应用时,数据存储是非常关键的一部分,本文将介绍如何在PhoneGap中创建表并存储数据。

前置条件
  • 熟悉基本的Web开发知识和JavaScript编程
  • 已安装并配置好PhoneGap开发环境
步骤
1.创建数据表

首先,我们需要创建一个数据表,可以使用Web SQL或IndexedDB进行数据库操作。

使用Web SQL

// 打开数据库
var db = openDatabase('mydb', '1.0', 'My Database', 2 * 1024 * 1024);

// 创建表
db.transaction(function(tx) {
  tx.executeSql('CREATE TABLE IF NOT EXISTS users (id unique, name)');
});

使用IndexedDB

// 打开数据库
var db;

var request = indexedDB.open('mydb', 1);

request.onerror = function(event) {
    console.log('打开数据库失败');
};

request.onsuccess = function(event) {
    console.log('打开数据库成功');
    db = event.target.result;
};

// 创建表
request.onupgradeneeded = function(event) { 
    var db = event.target.result;
    var objectStore = db.createObjectStore('users', { keyPath: 'id' });
};
2.添加数据
// 使用Web SQL添加数据
db.transaction(function(tx) {
  tx.executeSql('INSERT INTO users (id, name) VALUES (?, ?)', [1, 'John']);
});

// 使用IndexedDB添加数据
var transaction = db.transaction(['users'], 'readwrite');
var objectStore = transaction.objectStore('users');
var request = objectStore.add({ id: 1, name: 'John' });

request.onerror = function(event) {
    console.log('添加数据失败');
};

request.onsuccess = function(event) {
    console.log('添加数据成功');
};
3.查询数据
// 使用Web SQL查询数据
db.transaction(function(tx) {
  tx.executeSql('SELECT * FROM users', [], function(tx, results) {
    var len = results.rows.length;
    for (var i = 0; i < len; i++) {
      console.log(results.rows.item(i).name);
    }
  }, null);
});

// 使用IndexedDB查询数据
var transaction = db.transaction(['users']);
var objectStore = transaction.objectStore('users');
var request = objectStore.get(1);

request.onerror = function(event) {
    console.log('获取数据失败');
};

request.onsuccess = function(event) {
    var user = request.result;
    console.log(user.name);
};
4.更新数据
// 使用Web SQL更新数据
db.transaction(function(tx) {
  tx.executeSql('UPDATE users SET name = ? WHERE id = ?', ['Jack', 1]);
});

// 使用IndexedDB更新数据
var transaction = db.transaction(['users'], 'readwrite');
var objectStore = transaction.objectStore('users');
var request = objectStore.put({ id: 1, name: 'Jack' });

request.onerror = function(event) {
    console.log('更新数据失败');
};

request.onsuccess = function(event) {
    console.log('更新数据成功');
};
5.删除数据
// 使用Web SQL删除数据
db.transaction(function(tx) {
  tx.executeSql('DELETE FROM users WHERE id = ?', [1]);
});

// 使用IndexedDB删除数据
var transaction = db.transaction(['users'], 'readwrite');
var objectStore = transaction.objectStore('users');
var request = objectStore.delete(1);

request.onerror = function(event) {
    console.log('删除数据失败');
};

request.onsuccess = function(event) {
    console.log('删除数据成功');
};
总结

本文介绍了在PhoneGap中创建表并存储数据的方法,包括使用Web SQL和IndexedDB两种方式进行数据库操作,给开发人员提供了参考和实践。