1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HaxeAdvent Calendar 2016

Day 5

Haxeでデータベースにアクセスしてみる

Last updated at Posted at 2016-12-28

Haxeでデータベースにアクセスしてみる初めの一歩です。

Haxeにはsys.db.*というモジュール下にデータベースに接続・操作するためのクラスが配置されています。

dbモジュールは、python, neko, java, macro, cpp, lua, phpで利用できるとドキュメントに記載されています。

macroで利用出来るなんて面白そうですね!


この投稿ではHaxeでDBアクセス事始めということで簡単なデータベース操作をするコードを見てみます。

class Main {
    static function main() {
        #if php
        // DBとのコネクションを確立します
        var con = Sqlite.open("sample.db");

        // トランザクションの開始
        con.startTransaction();

        try {
            // テーブルを作成して、データを登録します
            con.request("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT);");
            con.request("INSERT OR IGNORE INTO users (id, name) VALUES (1, '太郎'), (2, '次郎'), (3, '三郎');");
            con.commit();

            // 登録したデータを取得します
            var resultSet = con.request("SELECT * FROM users;");
            trace(resultSet.results());
        } catch(e: Dynamic) {
            // 例外がスローされたらロールバック
            trace(e);
            con.rollback();
        }

        con.close();
        #end
    }
}

これがDBアクセスの一連の流れになるコードです。
どの言語を利用しても、このあたりのコードはだいたい同じですね。

実際には、このような操作をより抽象化したクラスが用意されているのでそちらを利用することになると思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?