Oyunumda veritabanı sorguları için Anorm kullanıyorum. Yürütme başarılı olursa, SQL(....).execute()
'un Boolean
döndürdüğü bazı öğreticilerden geçtim. Yöntemi test ettim, ancak her zaman false
'u döndü (doğru döndüğünde ne olduğunu bilmiyorum: /). Ayrıca SQL(...).executeInsert()
'u denedim, ancak tabloda herhangi bir 'otomatik artış' sütunu yok, bu nedenle sorun hala var. Herhangi bir çözüm varsa ('.execute()' yönteminin veya diğer herhangi birinin genişletilmiş sürümü varsa) bana yardımcı olun. İşte Ekleme sorgusu anorm'da başarılı olsaydı nasıl bilinir?
def addSuggestion(sessionId: BigInteger, suggestionId: BigInteger) = {
DB.withConnection { implicit c =>
if (!SQL("insert into user_suggestion_" + sessionId + " values (" + suggestionId + ",1,0,0)").execute()) {
SQL("update user_suggestion_" + sessionId + " set count=(count+1) where user_id=" + suggestionId).executeUpdate()
}
}
}
yerleştirme (vb bağlı herhangi kısıtlama kadar) başarısız olduğunda güncelleştirme sorgusu yalnızca çalışmalıdır. Başka bir işlev/alternatif var mı? Lütfen yardım et. Şimdiden teşekkürler.
Teşekkürler Johanandren .. Şimdi aslında işlevi anladım. Yani, Exception Handling aracılığıyla başarılı bir ekleme olup olmadığını kontrol etmek zorunda mıyım? Basit bir yolu yok mu? –
İstisnai davranışı istisna davranışını kontrol etmek olarak düşünün :). Scala.util.Try'e göz atın, bu istisnayı daha iyi bir şekilde yakalama denemesine yol açabilir. – johanandren