1

クエリの結果を呼び出し元に返すには、2D 文字列配列を割り当てる必要があります。クエリは次のようなものかもしれません

   Select * from files where size > x 

割り当てる必要がある2D配列は次のようなものです

   std::string [x][y]; 

列の数はわかっていますが、クエリに一致する行数はもちろんわかりません。結果セットを配置するために、事前にメモリを割り当てる必要があります。

私は別のクエリを実行できることを知っていますが、それはやり過ぎであり、別のクエリを実行する必要はありません。

   select count(*) from files where size > x

おそらく、結果をプッシュするために、より動的な 2D データ構造を再考できますか? アイデアがわかりませんか?

4

1 に答える 1

1

なぜ使用しないのstd::vector < std::vector < std::string > >ですか?これは動的に拡張でき、行数は を介し​​て簡単に調べることができますvector.size()

クエリの実行方法に応じて、sqlite は返される行数を通知します。たとえば、httpsqlite_get_table() : //www.sqlite.org/c3ref/free_table.html についてはこちらを参照してください。の行数を返します。*pnRow

于 2013-01-24T19:28:59.957 に答える