3

我在 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) {
        // 在这里做点什么
    }, 无效的);
});

这是最好的方法吗?

4

0 回答 0