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(クエリ、[]、関数(tx、結果) {
        // ここで何かをする
    }、 ヌル);
});

これが最善の方法ですか?

4

0 に答える 0