2012-06-14 30 views
5
yılında ormlite veritabanı tablosundaki tüm sütunları

aşağıdaki veritabanı tablosu nesnesi var:Güncelleme Android

public class Goal { 
    @DatabaseField(generatedId = true) 
    private int id; 
    @DatabaseField 
    private String goal_title; 
    @DatabaseField 
    private String goal_desc; 
    @DatabaseField 
    private String goal_why; 
    ... 
} 

Bu tabloya bazı satırları eklemiş ve şimdi bir bütün sütunları güncelleştirmek için bir sorgu yazmak istiyorum bu tabloda satır. ORM belgelerini gördüm ve bu sorgunun nasıl yazılacağına dair bir fikre sahip olamadım. Lütfen bu sorguyu nasıl yazacağım konusunda bana yardımcı olun.

cevap

17

Sanırım RTFM'ye ihtiyacınız var. Ben ORMLite belgelerinde uzun bir zaman geçirdim ve ben çok iyi covers the UpdateBuilder düşünüyorum. Daha spesifik sorular sormaktan çekinmeyin ve daha fazla ayrıntı ekleyemem.

dokümanlardan alıntı:

DAO da ifadeleri özel GÜNCELLEME inşa etmek ve SİL için kullanılabilir. Güncelleştirme ifadeleri, WHERE kalıbıyla eşleşen tablodaki satırlardaki belirli alanları değiştirmek için kullanılır veya hiçbir satır() yoksa tüm satırları günceller. İfadeleri silmek, tablodan WHERE deseniyle eşleşen satırları silmek için kullanılır - ya da hiçbir yer yoksa tüm satırları siler(). Bu yardımcı olur

UpdateBuilder<Goal, Integer> updateBuilder = goalDao.updateBuilder(); 
// update the goal_title and goal_why fields 
updateBuilder.updateColumnValue("goal_title", "some other title"); 
updateBuilder.updateColumnValue("goal_why", "some other why"); 
// but only update the rows where the description is some value 
updateBuilder.where().eq("goal_desc", "unknown description"); 
// actually perform the update 
updateBuilder.update(); 

Hope:

sizin Goal nesneyi kullanmak örnek kod çimdik belirleyin.

+0

Yanıtınız için bu Gray'i çok teşekkür ederim ve bu kodu denedim ancak son satır updateBuilder.update() dosyasında bir hata veriyor, updateBuilder türünde güncelleme yöntemi mevcut değil. UpdateColumnExpression ve updateColumnValue olmak üzere iki yöntem daha vardır, ancak güncelleme yöntemini değil. Sorunumu alırsan lütfen yardım edin. Tekrar teşekkürler – Munazza

+0

Bu, 4.34 sürümünde eklendi. GoalDao.update (updateBuilder.prepare()); ' – Gray

+0

goalDao.update (updateBuilder.prepare()); Ayrıca çalışma :(, ve bu updateBuilder türü için undefined bir hata verir.Sonucum 4.30, 4.34 kullanmalıyım? – Munazza

İlgili konular