在JavaSwing中一行显示Blob数据
我有一个jtextpane。textpane的值存储为数据库中的Blob。当我从数据库中检索值时,我注意到所有数据集都在一行,但我保存在不同的行中
插入代码: 试一试{ conn=分贝。数据库()
stat3 = conn
.prepareStatement("Update Knowledgebase SET Plan=? where TabID=? AND Context=?");
stat3.setString(1, jTextPane1.getText());
stat3.setInt(2, 1);
stat3.setObject(3, recv);
stat3.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
检索代码:
conn = db.Database();
stat3 = conn
.prepareStatement("Select Plan from Knowledgebase where TabID=? And Context=?");
stat3.setInt(1, 1);
stat3.setObject(2, recv);
rs = stat3.executeQuery();
while (rs.next()) {
jTextPane1.setText(rs.getString("Plan"));
}
请给我一些建议
# 1 楼答案
我的最佳猜测是,数据库的编码将从
JTextArea
检索到的文本中的换行符弄乱了。有关在两个JTextArea
实例之间复制文本的信息,请参见下面的SSCCE。您可以在第一个区域中键入多行文字,按下按钮,多行文字将显示在第二个区域中,包括换行符{a2}清楚地指定
因此,我建议您仔细查看(例如使用调试器)从文本区域中检索并存储在DB中的
String
,然后将其与随后从DB中检索的String
进行比较。很可能这两者并不相等