如何在德比中保存jtextpane中的内容? 我正在编写一个具有jtetxpane和derby db的软件,当我将文本保存为String时,在读取它时,它会丢失所有字体样式,如粗体或斜体。 我将字符串whit保存为preparedStatemend.so如何在德比中保存文本?我在想一个blob,那么如何从jtextpane中保存blob并阅读呢?或者我该如何保存? 我该怎么办呢? 抱歉,如果我的英语不好。
插入:
try {
String driver = "org.apache.derby.jdbc.EmbeddedDriver";
String dbName = "bdprueba";
String dbParam = "create=true"; //la base de datos se creará si no existe todavía
String connectionURL = "jdbc:derby:" + dbName + ";" + dbParam;
String sql="insert into persona (texto) values(?)";
Connection conn = DriverManager.getConnection(connectionURL);
PreparedStatement st = conn.prepareStatement(sql);
st.setString(1, texto.getText());
st.executeUpdate();
conn.close();
} catch (SQLException ex) {
Logger.getLogger(Editor.class.getName()).log(Level.SEVERE, null, ex);
} catch (BadLocationException ex) {
Logger.getLogger(Editor.class.getName()).log(Level.SEVERE, null, ex);
}
选择
try {
String driver = "org.apache.derby.jdbc.EmbeddedDriver";
String dbName = "bdprueba";
String dbParam = "create=true";
String connectionURL = "jdbc:derby:" + dbName +"" ;
Class.forName(driver);
Connection conn = DriverManager.getConnection(connectionURL);
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select texto from persona");
while(rs.next())
{
texto.setText(rs.getString("Texto"));
}
} catch (ClassNotFoundException ex) {
Logger.getLogger(Editor.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(Editor.class.getName()).log(Level.SEVERE, null, ex);
}
Grasias ambos
谢谢你们两个
答案 0 :(得分:0)
尝试使用文档而不是getText()
jtextpane.getDocument()
答案 1 :(得分:0)
您可以保存字符串,然后在保存并比较两个字符串后立即读取它吗?如果它们是相同的那么问题不是数据库部分。
我会检查目标JtextPane的编辑器套件。它必须与源JTextPane中的相同。如果字符串不同则会出现DB问题。
查看http://www.java2s.com/Code/Java/Database-SQL-JDBC/Saveimagetoderbydatabase.htm示例。您可以存储文本(字符串的字节)而不是图像。