2010-07-02 3 views
1

데이터베이스를 사용하여 데이터베이스에서 CSV 파일을 다운로드해야합니다.java를 사용하여 데이터베이스에서 csv로 데이터를 다운로드하는 방법은 무엇입니까?

나는 JDBC 연결을 가지고 있으며 쿼리를 실행하여 데이터베이스에서 데이터를 가져온다.이 값은 java 클래스를 사용하여 CSV 형식으로 다운로드된다.

Java class: 
String filename="Cases.csv"; 
//here database connection. 


ResultSet rst= stmt.executeQuery(qry); 
    System.out.println("1"+rst); 
    if(rst.next()) 
    { 

    Content=rst.getString("USER_details"); 

    } 
    //ServletOutputStream out = null; 
    //out.println(Content); 
    System.out.println("1"+Content); 
    byte requestBytes[] = Content.getBytes(); 
    ByteArrayInputStream bis = new ByteArrayInputStream(requestBytes); 
    response.reset(); 
    response.setContentType("application/text"); 
    response.setHeader("Content-disposition","attachment; filename=" +filename); 
    byte[] buf = new byte[1024]; 
    int len; 
    while ((len = bis.read(buf)) > 0){ 
    response.getOutputStream().write(buf, 0, len); 
    } 
    bis.close(); 
    response.getOutputStream().flush(); 
    } 
    catch(Exception e){ 
    e.printStackTrace(); 
    } 

데이터베이스에서 csv 형식으로 모든 값을 가져 오는 방법은 무엇입니까? ResultSet CSV로 내보내기

+0

나는 항상 것 동안 (rst.next()) 대신 (rst.next())이 경우에 당신이 미래에 여러 행을 반환하는 경우의. 또한 마지막 문장에 가까운 문장을 넣으십시오. –

+0

하나 이상의 행과 coloumn을 얻고 싶습니다. 코드를 수정하는 방법은 무엇입니까? – Nancy

답변

3

OpenCSV 지원 :

CSVWriter writer = ...; 
ResultSet rs = ...; 
writer.writeAll(rs, true); 
관련 문제