2009-02-26 18 views
1

Sonuçlarla döngü yapmayı bırakmadan önce sqlite sorgusunun bir şey döndürüp döndürmediğini nasıl kontrol ederim. o zaman SQLITE_ROW döndürür o okuma için hazır bir satır varsasqlite sorgu sonuçlarını denetleme

//see if there are results and do something if not 
while(sqlite3_step(selectstmt) == SQLITE_ROW) 
{ /*process on reults */} 

cevap

2

Ben sorunuzu şey eksik düşünüyorum. sqlite3_step dönüş hala veriye sahip SQLITE_ROW ederken,

http://www.sqlite.org/capi3ref.html#sqlite3_column_blob

Yani temelde doğru olanı yapıyoruz:

API Sütun fonksiyonları aracılığıyla bu verilere erişebilir http://www.sqlite.org/capi3ref.html#sqlite3_step

olan erişmek için

// Açıklama

SQLite getirir ve bütün resultset geri getirmez olarak nitelendirdiği sqlite3_step kullanarak size bir seferde satırları tek verir. Yani veri alıp alamayacağınızı adım atıncaya kadar bilmeyeceksiniz.

Yerleşik aygıtlarda çalıştığımda SQLite'ı biraz kullanmak zorunda kaldım, ancak her zaman iyi bir DAL yoluyla. Ben API'sinin büyük bir hayranı değilim, ama sanırım hafif.

+0

Teşekkürler. Ben sorguyu yürütmek sqlite3_step (selectstmt) arayarak düşündüm. Ben iki kere icra etmek istemiyorum. Bir kez SQLITE_ROW ve başka bir sonuç ile sonuçların kontrol edilmesi. Ya da sonuçları tutmak/önbelleğe almak için bir dizi oluşturmadan tek yolu bu mu? – 4thSpace

+0

Orada biraz açıklığa kavuşturmaya çalıştım. –

İlgili konular