同期的なDB操作

同期的なDB操作

DB への接続、クエリの実行と結果取得、プリペアード文、トランザクション、文字列エスケープといった、DB の基本的な操作を提供している。

API は以下のクラス群から構成される。全て名前空間は nine::dbi:: 以下である。

Driver
Driver は、各DBMSのエントリポイントである。接続に依存しない共通機能や、Connection 生成機能を持つ。
Connection
Connection オブジェクトは、DBとの接続と一対一に対応する。各 Statement の生成機能を持つ。
Statement
Statement は単純な一文を表す。SQL文を実行する機能を持つ。
PreparedStatement
PreparedStatement は、いわゆるプリペアード文を実現する。
EscapeStatement
EscapeStatement は、エスケープ関数を用いて PreparedStatement と同形式のテンプレート文を実行する。
ResultSet
ResultSet は DB操作の結果を保持するクラスである。

以上全ては SharedPtr なので、ユーザーは DBI オブジェクトをやり取りする際に、オーナーシップを管理する必要はない。

例えば、ResultSet は次のように定義されている:
class IResultSet: public Sharable
{
  ...
};
typedef SharedPtr< IResultSet > ResultSet;