関数を制御するための情報です。やってる方はご存知ですよね。構造体と同じようなもの。ハンドラを使って制御します。データベースファイルを開くことで,取得することができます。ここでは,次のようにしてハンドラを作りました。いう関数を使って,ファイルを開いています(ファイルがない場合は作られる)。ハンドラへのポインタへのポインタ。ハンドラへのポインタ(dbh)に有効なハンドラへのアドレスがセットされます。ファイルを開く方法がいくつかあるということです。これは,パス名にマルチバイト文字を使うか,ワイド文字(Unicode)を使うかで違いが出てきます。定義されている場合)文字化けしたパス名でファイルを作ろうとしてしまいます。関数(推奨)を使いましょう。その他の関数を使うことができるようになります。ここでは,次のようにして投げています。いう関数を使って投げています。プログラミングでは,文字列をそのままハンドラなりコネクションなりに渡すことはあまりありません。セキュリティの面からも効率の面からも,プリペアドステートメントを使うのが普通だからです。ことで,この方法は,普通とは違う簡便なやり方だと思っておいてください。文字列を指定しています。チェックしておきましょう。基本これだけで動くんですけれど,他にも指定できる引数があるので,プロトタイプを紹介しておきます。投げた後に,ライブラリ側で呼び出してくれる関数のことです。文を投げた結果を取得するのに使う。投げるときに,その関数へのポインタを渡すわけです。この方法は面倒だし,やり方としても普通はプリペアドステートメントを使うので,ここでは扱いません。最後の引数には,エラーメッセージを指すポインタへのポインタを指定できます。関数を実行した後,結果を表すメッセージがこのポインタにセットされます。注意しなくちゃいけないのは,ここで指されるメッセージのバッファが,動的に確保されていることです。解放しないと確保しっぱなしになるので気をつけましょう。0(NULL)を指定しておきます。実行することができました。ハンドラを片付ける最後に,ハンドラを片付けましょう。::sqlite3_close(dbh);これは別に何も書くことはないと思います。ハンドラを取得しないと使えません。まとめどうだったでしょうか。ファイル操作と同じくらい簡単に外部データを扱えることが分かったと思います。型の文字列設定に応じて,呼ぶ関数が変わることを少し念頭に置いておいてください。基本の説明は,まだ終わっていなくて,プリペアドステートメントとプレースホルダを使った制御が残っています。8割方はこなせるようになったと言っていいと思います。っぽい使い方を紹介したいと思います(次回に続く)。