2013-03-07 45 views
1

尝试将用户数据插入数据库。检查所有的参数,数据是正确的,但它仍然抛出异常Scala Anorm。插入异常;参数索引超出范围

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,但具有相同的错误

回答

1

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

SQL( “” “”

虽然我不知道该socialUser对象,我尝试了简单的例子,它与H2。

+0

绝对愚蠢的错误的工作,谢谢。我花了整整一天的这个错误:( – 2013-03-07 10:41:57