本文介绍了使用setString()从String转换为Clob不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将String转换为Clob以存储在数据库中。我有以下代码:
I am trying to convert a String into a Clob to store in a database. I have the following code:
Clob clob = connection.createClob();
System.out.println("clob before setting: " + clob);
clob.setString(1,"Test string" );
System.out.println("clob after setting: " + clob);
System.out.println("clob back to string: " + clob.toString());
当我运行此Clob未设置时,输出如下:
When I run this the Clob is not being set, the output is as follows:
clob before setting: org.apache.derby.impl.jdbc.EmbedClob@1f5483e
clob after setting: org.apache.derby.impl.jdbc.EmbedClob@1f5483e
clob back to string: org.apache.derby.impl.jdbc.EmbedClob@1f5483e
无处不在我说要使用setString方法,我不知道为什么这对我不起作用。
Everywhere I look says to use the setString method, I have no idea why this isn't working for me.
推荐答案
您不需要中间 Clob
实例,只需使用 setString()
即可的PreparedStatement
:
You don't need the intermediate Clob
instance, just use setString()
on the PreparedStatement
:
PreparedStatement stmt = connection.prepareStatement("insert into clob_table (id, clob_column) values (?,?)";
stmt.setInt(1, 42);
stmt.setString(2, "This is the CLOB");
stmt.executeUpdate();
connection.commit();
这篇关于使用setString()从String转换为Clob不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!