0

我正在尝试在准备好的语句中设置变量,如下所示:

String addRow = "INSERT INTO " + TABLE_NAME + " VALUES(?,?,?)";
Statement preparedStat = connection.prepareStatement(addRow);
preparedStat.setClob(1,myClob);

但是我得到方法 setClob 的“找不到符号”错误。如果我尝试使用任何 set 方法,例如 setInt 等,我会得到同样的错误。我已经导入了 sql 库:

import java.sql.*;

知道为什么我的编译器无法识别此处的任何 set 方法吗?

4

4 回答 4

1

这里preparedstat对象是statement类型的,所以statement接口不包含setXXX()方法来设置值。Preparedstatement 接口具有 setXXX() 方法来设置值。因此您可以使用 Preparedstatement 将值插入表而不是语句接口。

PreparedStatement pstmt=con.prepareStatement(query); Pastmt.setXXX();

于 2013-12-19T09:13:41.560 回答
0

你需要

PreparedStatement preparedStat;

Statement没有声明该方法

于 2013-09-22T04:27:10.507 回答
0

将语句更改为 PreparedStatement;

PreparedStatement preparedStat = connection.prepareStatement(addRow);
于 2013-09-22T04:28:15.167 回答
0

setClob方法属于PreparedStatment类,但您的参考是Statement类,并且Statement该类没有任何方法调用setClob。因此它抛出错误。更新您的声明

Statement preparedStat = connection.prepareStatement(addRow);

PreparedStatement preparedStat = connection.prepareStatement(addRow);
于 2013-09-22T04:28:48.987 回答