Mega Code Archive

 
Categories / Java Tutorial / Database
 

Use PreparedStatement setAsciiStream()

import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class Main {   public static void main(String[] args) throws Exception {     Connection conn = getConnection();     Statement stmt = conn.createStatement();     stmt.executeUpdate("create table survey (id int, name BINARY );");     String sql = "INSERT INTO survey (name) VALUES(?)";     PreparedStatement pstmt = conn.prepareStatement(sql);     // prepare text stream     File file = new File("yourFileName.txt");     int fileLength = (int) file.length();     InputStream stream = (InputStream) new FileInputStream(file);     pstmt.setString(1, "001");     pstmt.setAsciiStream(2, stream, fileLength);     // insert the data     pstmt.executeUpdate();          ResultSet rs = stmt.executeQuery("SELECT * FROM survey");     while (rs.next()) {         System.out.print(new String(rs.getBytes(2)));     }          rs.close();     stmt.close();     conn.close();   }   private static Connection getConnection() throws Exception {     Class.forName("org.hsqldb.jdbcDriver");     String url = "jdbc:hsqldb:mem:data/tutorial";     return DriverManager.getConnection(url, "sa", "");   } }