我在 Sencha Touch 2 应用程序中使用 SQL 代理,并且能够离线存储和检索数据。
我不能做的以及 Sencha 文档似乎没有提供的是如何自定义 Sencha SQL 存储。
例如,要创建一个基于 SQL 的商店,我执行了以下操作 -
Ext.define("MyApp.model.Customer", {
extend: "Ext.data.Model",
config: {
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'},
{name: 'age', type: 'string'}
],
proxy: {
type: "sql",
database: "MyDb",
}
}
});
1. 现在,我如何指定数据库的大小?
2. 如何在唯一性、主键等字段上指定约束?
比如说,我的数据库中有 4 列:pid、name、age、phone
我想要多个字段的主键:(pid,name)
如果我通过 SQL 查询创建表,我会做类似的事情 -
CREATE TABLE Persons
(
pid int,
name varchar(255),
age int,
phone int,
primary key (pid,name)
);
现在我如何通过模型实现相同的目标?
3. 如果我想通过 SQL 查询与数据库交互,我执行以下操作 -
var query = "SELECT * from CUSTOMER"; var db = openDatabase('MyDb', '1.0', 'MyDb', 2 * 1024 * 1024); db.transaction(函数(tx){ tx.executeSql(query, [], function (tx, results) { // 在这里做点什么 }, 无效的); });
这是最好的方法吗?