2015-02-27 22.20.13

【c++】sqliteを実際に使ってみる。

LINEで送る
Pocket

以前のエントリでsqliteのドキュメントを訳しました。

また、以前に開発のプロが教える Cocos2d-x逆引きガイドブックを購入し、sqliteの部分をみました。


最初は本の通りに実装して動きました。

ですが、クエリのバインド部分が個人的には好みではない(曖昧ですが)処理でした。
なので、自分なりに少し変更したコードを書こうと思います。

※ご要望があれば全ソースコードをgithub等に載せようかなと思ってます。
※まだ実運用などは出来ていないのでエラー処理等甘い部分があるかと思います。その旨@daiki1003まで教えていただけたら幸いです。

本におけるバインド処理


まずはに載っているコードをご覧ください。


formatを一文字ずつ進めていき、?であればbindを実行する、といった処理です。

今回書いたバインド処理


使い方


こんな感じ。では、処理について説明したいと思います。

A. sqlite3_bind_parameter_countでバインドすべきパラメタ数が取得できます。

B. マッピングするためのバインド名を取得します。
:id、の様に返って来ます。

C. 先頭の「:」を削除します。(nameには”id”等が入ります。)

D. paramsから値を取得してSQLにバインドします。

いかがでしたでしょうか?
mapの部分は可変長引数部分をそのまま残しておいても構わないとは思いますが、このような形に変更しました。

誰かのお役に立てば。

このブログのcocos記事一覧

LINEで送る
Pocket

Dalt

translimit, Inc. Application Engineer. Twitter: @daiki1003 Facebok: Daiki Asahi

【c++】sqliteを実際に使ってみる。」への2件のフィードバック

  1. こんにちは。
    cocos2dxを勉強している駆け出しのものです。
    私も、「開発のプロが教える Cocos2d-x逆引きガイドブック」を購入し、sqlite3を導入の勉強をしているのですが
    int型を取り出すことができません。
    こちらのソースをいただくことは可能でしょうか?

    1. kidcafeさん
      コメントありがとうございます!
      もちろん使っていただいて結構です^^

      もし、使い心地について何かあればまたおっしゃっていただければと思いますー!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です