Statement

Statementクラス

Statement は単純な一文を表す。SQL文を実行する機能を持つ。

Statement の生成

Statement オブジェクトは、Driver の createStatement() 関数を用いて生成する:
  class IConnection{
    virtual SharedPtr< IStatement > createStatement() = 0;

クエリーの実行

Statement には二種類のクエリの実行関数が提供されている。
class IStatement: public IStatementBase
{
   public:
      virtual ResultSet executeQuery(const dbi_char* sql) = 0;
      virtual int executeUpdate(const dbi_char* sql) = 0;
};
このうち、executeQuery() が基本的な関数である。SQL 文をそのまま実行し、結果を ResultSet で返す。
    Statement stmt = conn->createStatement()
    ResultSet rs   = stmt->executeQuery("select * from mytable");

UPDATE/INSERT 文や DDL などの、結果がスカラー値となる SQL 用に executeUpdate() も提供されている。 この関数は成功時に更新した行数を、失敗時は負の数を返す。 エラー時の詳細は getResultSet() から ResultSet を得て調べる必要がある。

二つの関数の用途は絶対的なものではない。どのようなクエリでも executeQuery() を用いることができる