我有一個SQL查詢返回兩個行和列的值。我想獲取這些數據並檢查它是否爲空。我怎樣才能做到這一點? 我是一個新鮮的男人scala與playframework可以任何人請幫助我在這裏。 我已經使用模型類來存儲響應和以json格式顯示,但我想知道如何檢查數據的條件。斯卡拉。播放:獲取數據和測試結果
val query= s""" select * from table"""
override def map2Object(implicit map: Map[String, Any]): HierarchyEntryBillingRoleCheck = {
HierarchyEntryBillingRoleCheck(str("roleName"), oint("PersonID"))
}
現在我想知道如何檢查條件是否返回空數據或真正的數據廣告我想執行下一個SQL查詢。
所以我有嘗試了一些方法,使我得到錯誤的類型轉換:
override val singleQuery = s"""select * from Sitable"""
override val allQuery= s"""select * from Sitable1"""
override def map2Object(implicit map: Map[String, Any]): HierarchyEntryBillingRoleCheck = {
HierarchyEntryBillingRoleCheck(str("roleName"), oint("PersonID"))
}
def map2ObjectBilling(implicit map: Map[String, Any]): HierarchyEntryBilling = {
HierarchyEntryBilling(str("Name"), str("Provider"), oint("Year"),
ostr("Month"), ostr("Status"), ostr("ProviderType"))
}
def getAll(implicit loginName: String): Future[Seq[HierarchyEntryBillingRoleCheck]] = {
doQueryIgnoreRowErrors(allQuery, "loginName" -> loginName)
result.map {
if (map2Object.roleName !="" && map2Object.PersonID.isEmpty) {
"error"
} else {
getOnetask()
} //GEtting error with unit type cannot resolve future[seq[]]
}
def getOnetask(): Future[Seq[HierarchyEntryBilling]] = {
doQueryIgnoreRowErrors(singleQuery)
} //Getting error with type unit does not confirm Future[Seq[]]
.// doQueryignore錯誤簽名=>
protected def doQueryIgnoreRowErrors(query: String, args: NamedParameter*)
= {
logger.debug(s"SQL: $query, args: $args")
TimedFuture(actualityTimeout) {
queryHandler.doQuery(query, args: _*) map { list =>
// ignore mapping errors of specific rows
list.flatten
}
} flatMap {
case scala.util.Success(s) => Future.successful(s)
case Failure(ex) if ex.isInstanceOf[SQLException] &&
ex.getMessage == "The executeQuery method must return a result set." =>
Future.successful(Nil)
case Failure(fail) =>
Future.failed(fail)
嘗試做一些關於play/slick示例的研究,例如:https://github.com/playframework/play-slick/tree/master/samples/basic希望這有助於..還有一些選項獲取提取數據與玩,我會假設你使用光滑 – Pavel
其絕對不是我:)但我懷疑這是非常基本的問題的原因,但有時人們downvote沒有理由。你能從表中讀取數據嗎? – Pavel
@Pavel,對不起,我真正的意思是你,我一直在問,還有從表中讀取數據?是的,我把它映射到一個對象,我能夠分別顯示兩個表中的數據,但仍然無法檢查滿足的條件,我很可能在輸入類型時出錯! –