2012-11-05 50 views
0

正如您在標題中看到的那樣,我想要檢索其鍵值小於指定鍵的數據,然後我需要連接多個遊標,其中一個可能多於指定的字符串,另一個可能小於指定的整數。默認情況下,DB_SET_RANGE將返回大於或等於指定鍵的鍵。如何使用berkeley db檢索鍵值小於指定鍵的數據?

我應該使用重寫比較函數來實現它,並將它設置爲數據庫的比較函數,就像set_bt_compare()一樣?

謝謝!

回答

0

我想你會發現你仍然需要你自己的DB_NEXT或DB_PREV循環,用你自己的邏輯來比較鍵和在更復雜的條件下退出循環。

您可以使用DB_SET_RANGE來查找鍵較大的點,然後轉向並使用DB_PREV向後移動。或者,您可以使用DB_FIRST從數據庫的開始處開始,並使用DB_NEXT向前掃描,直到達到它們更大的點。

相關問題