Squeryl -Abfrage, die Greaterthanqual (GTE) oder Lessthanqual (LTE) enthält, geben falsch/keine Ergebnisse

StackOverflow https://stackoverflow.com/questions/6343347

Frage

Ich versuche eine einfache Frage mit Squeryl zu machen. Es funktioniert jedoch nicht! Der Code kompiliert, aber die Abfrage gibt keine Ergebnisse zurück, aber es sollte! Die gleiche Abfrage in leerem SQL funktioniert perfekt. 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)
}

entsprechend http://max-l.github.com/squeryl/functions.html es sollte funktionieren?!

Jede Hilfe wird geschätzt.

War es hilfreich?

Lösung

Dies hätte Ihnen eine Abschaltwarnung geben sollen:

qryResult = from(DBName.tablename)(t => where(t.position <= 83172924) select (t))

Es gibt eine veraltete implizite Konvertierung, die Probleme verursacht. Sehen Sie dies

https://groups.google.com/forum/#!$ 20Boolean/Squeryl/psuznda4bq4/ohmqs16yd_0j

Ich habe es gerade von Master Branch entfernt.

Dieser sollte funktionieren:

qryResult = from(DBName.tablename)(t => where(t.position lte 83172924) select (t))

Ich habe es gerade versucht und es kompiliert und läuft richtig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top