2014-01-05 2 views
0

Как сохранить содержимое из jtextpane в дерби? Я пишу программное обеспечение, которое имеет jtetxpane и derby db, когда я сохраняю текст как String, в момент его чтения он теряет все стили шрифтов, как жирный или курсив. Я сохраняю строку whit подготовленнойStatemend.so, как я могу сохранить текст в дерби? я думаю, в блобе, так как можно сохранить blob из jtextpane и прочитать его? или как я могу его сохранить? как я могу это исправить? извините, если мой английский плохой.сохранить контент из jtextpane в дерби?

Вставка:

 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 амвонов

Спасибо вам обоим

+0

он теряет все стили шрифтов, как жирный или курсив. все зависит от того, как Highlighter применяется к документу – mKorbel

ответ

0

Не могли бы вы сохранить строку, затем прочитать ее сразу после сохранения и сравнить обе строки? Если они одинаковы, проблема не в части БД.

Я бы проверил комплект редактора целевой JtextPane. Он должен быть таким же, как в исходной JTextPane. Если строки отличаются друг от друга, это проблема с БД.

Посмотрите на пример http://www.java2s.com/Code/Java/Database-SQL-JDBC/Saveimagetoderbydatabase.htm. Вы можете сохранить текст (байты строки), а не изображение.

0

Попробуйте работать с документом вместо GetText()

jtextpane.getDocument() 
Смежные вопросы