Titanium mobileの基礎13〜DBの操作

アプリ内でDBの操作を行う。

ポイント

・DB:sqlite

ソース

app.js

// sqliteというDBを使う
var db = Ti.Database.open('mydb');

// テーブルの作成
db.execute('create table if not exists users (name text, sales integer)');

db.execute('delete from users');

// データの挿入
db.execute('insert into users (name, sales) values (?, ?)', 'hoge', 100);
db.execute('insert into users (name, sales) values (?, ?)', 'foo', 200);
db.execute('insert into users (name, sales) values (?, ?)', 'bar', 300);

// 直前の操作によって何件の影響があったかを求める
db.execute('update users set sales = ? where name = ?', 500, 'taguchi');
Ti.API.info('rowsAffected = ' + db.rowsAffected);

// 挿入されたばかりのデータ番号を求める
db.execute('insert into users (name, sales) values (?, ?)', 'dotinstall', 700);
Ti.API.info('lastInsertRowId = ' + db.lastInsertRowId);

// データの取り出し
var rows = db.execute('select rowid,* from users');
Ti.API.info('row count = '+rows.getRowCount());

// データが有効である限りループ(全データ取り出し)
while (rows.isValidRow()) {
	Ti.API.info('id:'+rows.fieldByName('rowid')+' name:'+rows.field(1)+'
	 sales:'+rows.fieldByName('sales'));
	 rows.next();
}
rows.close();

db.close();