Как получить текстовый столбец из SQL Java? - PullRequest
1 голос
/ 12 марта 2012

У меня есть стол.В таблице есть столбец 'Column1', который имеет тип 'text'.

Как получить текст и сохранить его в виде строки?

Ниже я попробовал следующее.(Но это не работает, я получаю странные символы вместо данных в базе данных)

   public void getConfigurationXML()
   {
       try
       {            
           Class.forName("java.sql.Driver"); 
           Connection conn=(Connection)DriverManager.getConnection(_url,_user,_pwd); 
           Statement st=conn.createStatement(); 

           ArrayList <String[]> result = new ArrayList<String[]>();
           String query ="SELECT Column1 FROM table1";
           ResultSet rs=st.executeQuery(query); 
           int columnCount = rs.getMetaData().getColumnCount();

           while(rs.next())
           { 
               String[] row = new String[columnCount];
               for (int i=0; i <columnCount ; i++)
               {
                   row[i] = rs.getString(i + 1);
               }
               result.add(row);
           } 

           rs.close(); 
           st.close(); 
           conn.close(); 

      } 
      catch(Exception e)
      { 
           Logger lgr = Logger.getLogger(Database.class.getName());
           lgr.log(Level.WARNING, e.getMessage(), e);
      }
   }

1 Ответ

0 голосов
/ 12 марта 2012

Если вы говорите о типе данных text, который используется для структур BLOB, вы можете попробовать это:

java.sql.Blob ablob = rs.getBlob(i + 1);
row[i] = new String(ablob.getBytes(1L, (int) ablob.length()));

Причина странных символов в том, что база данных хранит их как необработанные байты вместо ожидаемых символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...