EscapeStatement は、エスケープ関数を用いて PreparedStatement と同形式のテンプレート文を実行する。 ただし、プレースホルダの展開はローカル側で行われる。 PreparedStatement と異なり、prepare() 呼び出し時に DBMS アクセスは発生しない。
EscapeStatement stmt = conn->createEscapeStatement();
stmt->prepare("select * from tbl where name = ?");
stmt->setString(1, "nine");
ResultSet rs = stmt->executeQuery();
EscapeStatement stmt = conn->createEscapeStatement();
stmt->prepare("select * from ? where name = ?");
stmt->setRawString(1, "tbl");
stmt->setString(2, "nine");
ResultSet rs = stmt->executeQuery();
setRawString() 関数を用いればクォートされずに置換される。ただし、エスケープ処理もされないので、使用には注意すること。