sqliteのMAX

| | コメント(0)

SecondNature_20081026.jpgiPhoneのアプリ開発が続いています。

昨日から悩んでいたのが、sqliteまわり。

単純なSQL文です。

"SELECT MAX(X) FROM TABLE1 WHERE Y=?"

ここで、プリペアード・ステートメントを作って、変数をバインドします。

"if(sqlite3_step(sql3_statement)==SQLITE_ROW){"

で、条件に合う答えが返らなかったときと、返ったときと処理を分けたのですが、条件に合う答えがなかったときにも、「SQLITE_ROW」が返る。

そのときの、MAX(X)の値は、「0」。

「SQLite Database Browser」で、同じSQL文を発行すると、結果は空。

昨日の夜から悩んでいたのですが、結局、こういうものだと割り切って、SQL文を、"SELECT MAX(X),COUNT(X) FROM TABLE1 WHERE Y=?"に変更し、カウントの数で処理を分けることにしました。

一件落着。

カテゴリ

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、kawaguchiが2008年10月29日 17:08に書いたブログ記事です。

ひとつ前のブログ記事は「VMWare Fusion 2.0」です。

次のブログ記事は「これまた近況」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.0

Twitter