# JDBC IO ###### tags: `JDBC` package mylibrary; https://dotblogs.com.tw/jerryhuang0306/2016/03/08/120005 import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class JDBC123 { public static void main(String[] args) { try { String connUrl = "jdbc:sqlserver://localhost:1433;databaseName=MyDB";//資料庫選擇 java.sql.Connection conn = DriverManager.getConnection(connUrl, "sa", "manager"); FileReader fr = new FileReader("C:\\test.csv");//抓CSV檔進java BufferedReader brdFile = new BufferedReader(fr);//bufferedReader String strLine = null; while((strLine = brdFile.readLine())!=null){//將CSV檔字串一列一列讀入並存起來直到沒有列為止 String[] array=strLine.split(",");//因為預設是用","分開所以用split切開存入字串陣列 System.out.println(strLine); for(int i=0;i<array.length;i++){//偷看陣列元素有沒有切對 System.out.println(array[i]); } String qryInsert="insert into [dbo].[MyDB]\r\n" + " ([越區]\r\n" + " ,[Jan]\r\n" + " ,[Feb]\r\n" + " ,[Mar]\r\n" + " ,[Apr]\r\n" + " ,[May]\r\n" + " ,[Jun]\r\n" + " ,[Jul]\r\n" + " ,[Aug]\r\n" + " ,[Sep]\r\n" + " ,[OCT]\r\n" + " ,[NOV]\r\n" + " ,[DEC]) values(?,?,?,?,?,?,?,?,?,?,?,?,?)";//動態SQL指令 PreparedStatement pstmt= conn.prepareStatement(qryInsert);//因為是insert所以用PreparedStatement來接 pstmt.setString(1,array[0]); pstmt.setString(2,array[1]);//因為這欄是用int的格式,所以將array[1]值抓出來轉int pstmt.setString(3,array[2]); pstmt.setString(4,array[3]); pstmt.setString(5,array[4]); pstmt.setString(6,array[5]); pstmt.setString(7,array[6]); pstmt.setString(8,array[7]); pstmt.setString(9,array[8]); pstmt.setString(10,array[9]); pstmt.setString(11,array[10]); pstmt.setString(12,array[11]); pstmt.setString(13,array[12]); pstmt.execute(); }; }catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (SQLException e){ // TODO Auto-generated catch block e.printStackTrace(); } } } 選擇 Repo 訂閱