結果をループするのを止める前に、sqliteクエリが何かを返すかどうかを確認するにはどうすればよいですか。sqliteクエリの結果を確認する
//see if there are results and do something if not
while(sqlite3_step(selectstmt) == SQLITE_ROW)
{ /*process on reults */}
結果をループするのを止める前に、sqliteクエリが何かを返すかどうかを確認するにはどうすればよいですか。sqliteクエリの結果を確認する
//see if there are results and do something if not
while(sqlite3_step(selectstmt) == SQLITE_ROW)
{ /*process on reults */}
SQLITE_ROWを返すと、読み込みの準備ができています。
APIは、あなたが列関数を通じてそのデータにアクセスすることができhttp://www.sqlite.org/capi3ref.html#sqlite3_step
である:
http://www.sqlite.org/capi3ref.html#sqlite3_column_blob
sqlite3_step戻りSQLITE_ROWは、あなたはまだデータを持っていながら、だから、基本的には、正しいことをやっていますアクセスするために。
//明確化
SQLiteはフェッチと全体の結果セットを取得しません、それを呼び出し、sqlite3_stepを使用することによってあなたの時間に1つずつ行を提供します。したがって、データを取得するかどうかは、ステップを呼び出すまでわかりません。
私は組み込みデバイスで作業していましたが、常にまともなDALを通してSQLiteを使用しなければなりませんでした。私はそれがAPIの巨大なファンではないが、それは私が推測する軽量です。
ありがとうございました。私はクエリを実行するsqlite3_step(selectstmt)を呼び出すと思った。私は二度実行したくありません。一度SQLite_ROWを確認し、もう1つは結果をループします。または、結果を保持する/キャッシュする配列を作成しないで唯一の方法ですか? – 4thSpace
私はそこで少し明確にしようとしました。 –