1

ユーザーデータを DB に挿入しようとしています。すべてのパラメーターを確認しました。データは正しいですが、それでも例外がスローされます

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を使用していますが、同じエラーがあります

4

1 に答える 1

1

あなたの例はうまくいきません。ステートメントは 4 つの二重引用符で始まりますが、ツリーである必要があります。

SQL( """"

オブジェクトについてはわかりませんがsocialUser、より簡単な例を試してみたところ、H2 で動作しました。

于 2013-03-07T10:37:13.997 に答える