【问题标题】:Scala Anorm. Insert exception; parameter index out of range斯卡拉异常。插入异常;参数索引超出范围
【发布时间】:2013-03-07 09:53:53
【问题描述】:

尝试将用户数据插入数据库。检查所有参数,数据正确,但还是抛出异常

java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).

代码是这样的

DB.withConnection {
      implicit c =>
        SQL( """"
          insert into tUser (fname, lname, fullname, avatarurl, email, extuid, service)
          values ({fname}, {lname}, {fullname}, {avatarurl}, {email}, {extuid}, {service})
             """).on(
           'fname -> socialUser.firstName,
           'lname -> socialUser.lastName,
           'fullname -> socialUser.fullName,
           'avatarurl -> socialUser.avatarUrl.getOrElse(Option.empty),
           'email -> socialUser.email.getOrElse(Option.empty),
           'extuid -> socialUser.id.id,
           'service -> socialUser.id.providerId
         ).executeUpdate()
     }

尝试使用H2,现在我使用MySQL,但出现同样的错误

【问题讨论】:

    标签: database scala playframework-2.0 anorm


    【解决方案1】:

    您的示例不起作用。该语句以四个双引号开头,但它应该是树。

    SQL(""""

    虽然我不知道 socialUser 对象,但我尝试了一个更简单的示例,它适用于 H2。

    【讨论】:

    • 绝对愚蠢的错误。谢谢你。我花了一整天的时间来解决这个错误:(
    猜你喜欢
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多