【发布时间】:2015-11-13 16:07:35
【问题描述】:
我正在尝试创建一个类,该类具有可以使用普通 sql 查询向 SQLite db 发送和获取数据的方法。不幸的是,这不起作用。我不想使用 withSession 隐式部分。
import slick.driver.SQLiteDriver.api._
import slick.lifted.TableQuery
import slick.jdbc.JdbcBackend.Database;
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent._
import ExecutionContext.Implicits.global
class DBops {
val db = Database.forURL("jdbc:sqlite:S:/testing/testdb.sql",driver = "org.sqlite.JDBC")
def getData(TableName: String):Future[(Int,Double,String)]={
db.run(sql"""select * from $TableName """.as[(Int,Double,String)])
}
}
抛出以下错误:
类型不匹配;找到: slick.profile.SqlStreamingAction[Vector[(Int, Double, String)],(Int, Double, String),slick.dbio.Effect] 需要: slick.dbio.DBIOAction[(Int, Double, String),slick .dbio.NoStream,Nothing] DBops.scala
【问题讨论】:
-
问题是生成的代码会是
select * from 'some_table'。 -
不知道我的回答是否有帮助,我是否正确理解了您的问题?
-
答案很有帮助,但没有解决问题。但是我设法自己解决了。
-
很高兴听到!我实际上并没有注意到类型中缺少 Seq :)