【Console Application】ファイルとデータベース 265【学習記】
概略
接続書くだけで一苦労😞
sqlite3_open の引数 ppDb は `sqlite3* conn; sqlite3_open(fn,&conn);` という形になるけれどクラスメンバーの場合は直接 `&self.conn` の様な書式は認められないため、一旦ローカル変数で受け取ってメンバーに代入する事になる🙄
前回の粗筋
どうにかこうにか SQLite を純正で取り込む事ができたけれど実装部分は勿論 Java と違うので険しい道もまだ五合目という感じ😑
DBControllerBase
Java では Connection , Statement , ResultSet だったけど OC では果たして…?🤔
前回調べた記事3つを見ながら進めるぽ🤤
これらを見る限りだと sqlite3 が Connection 、 sqlite3_stmt が Statement に相当するっぽい🤔
ResultSet は…ちょっとすぐ判らないお😞
とりあえずこの2つをメンバーに組み込んで open 処理を書いてみようず🤤
C 系は基本的に try で例外を拾うのではなく、関数を呼んだ時の返値や引数に状態やフラグを渡して、それを関数実行の後で確認して障害検知と対応を書く方式なので try を書かない傾向が強い😑
それはそれとして、なんか「その関数呼び出せないんだけど?」って言われるのよね🙄
………😞
QuickHelp は出てるのにどういう事なの…🙄
void fn(int v) {}
fn(99); // OK
fn(""); // No matching function for call to 'fn'
これかな🤔
sqlite3_open の記述は3記事とも &var になってて自分のは現状そうなってない😞
だって &self.conn って書くと怒られるんだもん🙄
雑な対応感たっぷりだけどこうするしかやりようがない😑
statement については実行毎にいちいち生成されるっぽいので nil 入れときゃ良いかな…🤤
次回は
やっとコンストラクタの先に進められる…😫
この記事が気に入ったらサポートをしてみませんか?