GreaterThanequal(GTE)以下を含むSquerylクエリ(LTE)は間違っている/結果を与えます
質問
Squerylで簡単なクエリをしようとしています。しかし、それはうまくいきません!コードはコンパイルされますが、クエリは結果を返しませんが、そうする必要があります! Blank SQLで同じクエリが完全に機能します。 SELECT * FROM tablename WHERE position <= 83172924
val qryResult = from(DBName.tablename)(t => where(t.position === 83172924) select (t)) //works! but not what i want
val qryResult = from(DBName.tablename)(t => where(t.position <= 83172924) select (t)) //compile OK, no results
val qryResult = from(DBName.tablename)(t => where(t.position lte 83172924) select (t)) //compile ERROR
object DBName extends Schema {
val tablename = table[FOO]("tablename")
}
class FOO(var position: Int) {
def this() = this (0)
}
によると http://max-l.github.com/squeryl/functions.html うまくいくはずですか?!
どんな助けも感謝しています。
解決
これはあなたに非推奨警告を与えるべきでした:
qryResult = from(DBName.tablename)(t => where(t.position <= 83172924) select (t))
トラブルを引き起こしている非推奨の暗黙的変換があります、これを参照してください
https://groups.google.com/forum/#!searchin/squeryl/implicit$ 20boolean/squeryl/psuznda4bq4/ohmqs16yd_0j
マスターブランチから削除しました。
これは機能するはずです:
qryResult = from(DBName.tablename)(t => where(t.position lte 83172924) select (t))
私はそれを試したばかりで、それはコンパイルして正しく実行します。
所属していません StackOverflow