Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.sql.SQLException:驱动程序错误:bindParam()的索引参数必须介于1和numParameters之间_Java_Sql_Prepared Statement - Fatal编程技术网

java.sql.SQLException:驱动程序错误:bindParam()的索引参数必须介于1和numParameters之间

java.sql.SQLException:驱动程序错误:bindParam()的索引参数必须介于1和numParameters之间,java,sql,prepared-statement,Java,Sql,Prepared Statement,我正在尝试插入一个名为XpressMP的新数据库。我需要在数据库中插入一个时间戳值。此外,它不支持TO_TIMESTAMP相反,它支持CURRENT_TIMESTAMP,它不接受任何参数,并给出当前时间戳值 所以在下面的SQL中,第二列和第三列数据类型是Timestamp,总列数是30。所以我想在这里使用preparedStatement来插入记录。在下面的SQL中,我在第二列和第三列中放置了CURRENT_TIMESTAMP,以获得当前的时间戳,在准备好的语句中,我将在第2列和第3列中离开。但

我正在尝试插入一个名为
XpressMP
的新数据库。我需要在数据库中插入一个时间戳值。此外,它不支持
TO_TIMESTAMP
相反,它支持
CURRENT_TIMESTAMP
,它不接受任何参数,并给出当前时间戳值

所以在下面的SQL中,第二列和第三列数据类型是Timestamp,总列数是30。所以我想在这里使用preparedStatement来插入记录。在下面的SQL中,我在第二列和第三列中放置了
CURRENT_TIMESTAMP
,以获得当前的时间戳,在准备好的语句中,我将在第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");

谁能帮我一下我到底做错了什么?

setParameter的第n个索引映射到第n个问号,您的索引应该从1开始到28,并且应该是连续的

现在说得通了。我犯了愚蠢的错误。我怎么能忘记这件事。啊。谢谢你的帮助。。