我正在做一個簡單的選擇查詢到數據庫的登錄系統。我應該從數據庫中獲取一條記錄,然後比較密碼,但我正在努力讓這部分工作主要是讓選擇查詢返回我需要的內容。這是我斯卡拉斯利克選擇查詢時執行錯誤
def example() = Action.async {
val myquery=sql"""SELECT password,id,email from profiles where [email protected]""".as[(String,Int,String)]
dbcall.run(myquery.map { Result =>
Result.headOption match {
case d: (String, Int,String) =>
if (BCrypt.checkpw("mypassword", d._1)) {
Ok("it worked")
}
else
Ok("No match")
case None => Ok("Empty")
}
}
}
此代碼的工作,但它沒有返回回到正確的格式,它給我的錯誤,指出:
[MatchError:有些(($ 2A $ 12 $ HoNBl1DBlH .X,32,hetmam @ yahoo.com))(類scala.Some)]
注意上面是我想要的正確值,但是我想嚴格得到第一列:我認爲的密碼我在這裏...
BCrypt.checkpw("mypassword", d._1)
但是我只是在Result.headOption匹配得到一個匹配異常錯誤,是不是d._1假設只給出`密碼列值?
完美的感謝很多隻是實施,它是工作 – user1591668