uzullaがブログ

uzullaがブログです。

Web SQL DatabaseのWrapper的なもの書いてる続き

以下みたいなのが動くようになった

オーダー指定
 test
  .get()
  .order('id', 'DESC')
  .success( function(rows, tx, rs){ console.log(rows, tx, rs) } )
  .exec()

マルチインサート
rows = [
    { name:'sitename2', site_num:1 },
    { name:'sitename3', site_num:1 },
    { name:'sitename4', site_num:1 },
    { name:'sitename5', site_num:1 },
    { name:'sitename6', site_num:1 },
    { name:'sitename7', site_num:1 },
    { name:'sitename8', site_num:1 },
]
test
  .setRows( rows )
  .allways( function(){ console.log('complete') } )
  .exec()

SQL直接 SELECT
test
  .sql('SELECT id,name FROM list WHERE id>=? AND id<=?', [1,3])
  .success( function(rows){ console.log (rows) } )
  .exec()

SQL直接 UPDATE
test
  .sql('UPDATE list SET name=? WHERE id=?', ['updating!', 9], "UPDATE")
  .success( function(){ console.log ('complete') } )
  .exec()

SQL直接 INSERT
test
  .sql('INSERT INTO list ("name", "site_num","updated_at","created_at") VALUES (?, ?, datetime(\'now\'),datetime(\'now\'))', ['inserting!', '3'], 'INSERT')
  .success( function(id){ console.log ('complete, last id is:'+id) } )
  .exec()

これで、大体自分がよく使うメソッドはサポートできたかなー…。
CoffeeScriptがすばらしいので、かなり手早く書けた感。バンザイCoffee Script!


後はー、一応トランザクションをサポートしないとかなあ…。
あんまりステートを確保するようなことやってると、例外処理を大量にかかないといけないから、出来ないもんだで諦めちゃうのも手なんだが…。

そういうのは生でSQL書けばいーじゃん的なね。


…あ、LIMITとOFFSETがぬけてた、それくらいはやらんとな。

マルチインサートで、IDをリストでひろうか。