0

という名前の新しいデータベースに挿入しようとしていXpressMPます。そして、そのデータベースにタイムスタンプ値を挿入する必要があります。また、TO_TIMESTAMPその代わりにサポートしていませんCURRENT_TIMESTAMP。パラメーターをとらないものをサポートし、現在のタイムスタンプ値を提供します。

以下の SQL では、2 列目と 3 列目のデータ型は Timestamp で、列の総数は 30 です。そこで、ここで PreparedStatement を使用してレコードを挿入しようと考えていました。以下の SQL ではCURRENT_TIMESTAMP、現在のタイムスタンプを取得するために 2 番目の列と 3 番目の列に配置し、準備されたステートメントでは 2 と 3 の列を残しています。

java.sql.SQLException: Driver Error: index parameter to bindParam() must be between 1 and numParameters.

以下は、私が使用しているコードです。

private static String insertSQL = "INSERT INTO USER"
            + "("
            + "ID, CREATION_DATE, LAST_MODIFIED_DATE) VALUES"
            + "(?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)";


            preparedStatement.setString(1, "1000015236");

            preparedStatement.setString(4, "Hello");

私がここで何をしているのか、誰でも助けてくれますか?

4

1 に答える 1

1

setParameter の n 番目のインデックスは n 番目の疑問符にマップされます。インデックスは 1 から 28 までで始まり、連続している必要があります。

于 2013-02-04T21:24:57.517 に答える