Java JDBC PreparedStatement setLong

Java JDBC PreparedStatement setLong,java,Java,我的表中有一列是客户id,非常大。我准备了以下声明 String SQL = "SELECT CUSTOMER_INFO FROM CUSTOMER WHERE CUSTOMER_ID = ?"; 基本上我想要下面查询的结果-从CUSTOMER中选择CUSTOMER\u INFO,其中CUSTOMER\u ID=2014070815 如何使用preparedStatement实现这一点?如果我这样做- ps = connection.prepareStatement(SQL); ps.setS

我的表中有一列是客户id,非常大。我准备了以下声明

String SQL = "SELECT CUSTOMER_INFO FROM CUSTOMER WHERE CUSTOMER_ID = ?";
基本上我想要下面查询的结果-
从CUSTOMER中选择CUSTOMER\u INFO,其中CUSTOMER\u ID=2014070815

如何使用preparedStatement实现这一点?如果我这样做-

ps = connection.prepareStatement(SQL);
ps.setString(1, "2014070815");

显然,它不会起作用,因为它不是字符串。我也尝试了setLong,但是setLong在一些客户ID中失败,错误是
long类型的文本0802030158L超出范围
。请在这里输入。

数据库中的
客户id
的数据类型是什么?那么为什么不从代码中传入一个字符串呢?首先将您的输入转换为字符串,然后使用
setString
。很抱歉,我没有得到。我已经尝试了ps.setString(1,“2014070815”)
char
datatype表示存储为文本数据,而不是数字数据。那么,使用
setString
将值作为字符串传递,这就是它存储在DB中的内容,怎么样?尝试使用
setString
时会出现什么错误?