忍者ブログ

[PR]

2017年10月20日
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

SQL文への変数組み込みと検索結果取り出しの関数

2008年11月22日
データベースで各列に使うデータ型は主にint、real、charですが、それらをプログラム側とやり取りする時は以下のような感じになります。それぞれプログラム内の変数は
int aInteger;
double aDouble;
NSString *aString;
という場合です。

SQL文の?に埋め込む場合
sqlite3_bind_int(st, 1, aInteger);
sqlite3_bind_double(st, 2, aDouble);
sqlite3_bind_text(st, 3, [aString UTF8String], -1, SQLITE_TRANSIENT);

データを取り出す場合
aInteger = sqlite3_column_int(st, 0);
aDouble = sqlite3_column_double(st, 1);
aString = (char *)sqlite3_column_text(st, 2);
PR
Comment
No title
いつも丁寧なご説明をありがとうございます。参考にさせて頂いてます。
さて、お時間のある時で結構なんですが、SQLiteのデータをUITableViewに表示する場合、通常の状態であればさほど問題なく表示させられるのですが、
http://www.iphonesdkarticles.com/2009/01/uitableview-searching-table-view.html
のように表示させた名前をもとにインクリメンタル検索させ、さらにその後詳細ビューに飛ばしたい場合はどのようにSQLiteからデータを持ってくるのが一番いいのでしょうか? いろいろ探しているのですが、ソースコード内のデータからのものはあるのですが、SQLiteから引っ張ってきている例がなくいろいろやっているんですが、うまく表示されません。例えれば辞書アプリみたいなものでSQLiteにデータがあり、その目次を検索し、詳細データを1階層下に表示するという流れです。
 また、私がノンプログラマーなもので有料でかまわないのですが、アドバイスを頂くことは可能でしょうか?
ご質問の内容から考えられる事
辞書アプリの場合で考えると、まずプライマリキーの他に項目名と内容の2個のNSStringを持つNSObject派生クラスを作れば良いのではないでしょうか。アップル社提供サンプルSQLite Book ListのBookクラスにあたるものです。テーブルのデータ配列としては先ほどのオブジェクトの配列を渡し、セルには項目名をcell.textで表示させておきます。検索用の配列として、項目名の配列を作って渡せば検索も可能なのではないでしょうか。

蛇足になるかもしれませんが、先ほどのサイトにあった例ではRootViewController.hのinterface宣言にプロトコルへの対応(UISearchBarDelegateのことです)を追加したり、RootViewController.mのviewDidLoadにsearchBar.delegate = self;を追加しないと検索機能は動きません。また、選択後に動く先や表示を灰色にするためのビューのnibファイルが無いと読み込みにいったところでアプリが飛ぶので注意しましょう。
No title
 お忙しいところありがとうございます。NSDictionaryでなくてもいいんですね。また、アプリが飛ぶ原因も分かりました。やってみます。
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字
Trackback
トラックバックURL: