senchatouchsql代理

senchatouchsql代理,sql,sencha-touch-2,web-sql,sencha-touch-2-proxy,Sql,Sencha Touch 2,Web Sql,Sencha Touch 2 Proxy,我在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:

我在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、姓名、年龄、电话

我希望有多个字段的主键:(pid,名称)

如果我通过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(function (tx) { tx.executeSql(query, [], function (tx, results) { // do something here }, null); }); var query=“选择*来自客户”; var db=openDatabase('MyDb','1.0','MyDb',2*1024*1024); 数据库事务(功能(tx){ tx.executeSql(查询,[],函数(发送,结果){ //在这里做点什么 },空); }); 这是最好的方法吗