1. 程式人生 > >SQL與eclipse的連線,從資料庫讀取表資料,將二維陣列資料匯入表

SQL與eclipse的連線,從資料庫讀取表資料,將二維陣列資料匯入表

示例:

import java.util.List;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList

static String connectionUrl = "jdbc:sqlserver://localhost:1433;" 
               +"databaseName=*****;"

               + "user=sa;"
               + "password=*******";

public static float[][] xiaolin(float[][] aa) throws Exception{
        // TODO 自動生成的方法存根
        
        //註冊驅動程式所需語句

        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//驅動程式的載入和註冊
        Connection con = DriverManager.getConnection(connectionUrl);//建立與資料庫的連線
        Statement stmt = con.createStatement();
        String sql1 = "select * from S";//查詢語句
        ResultSet rs1 = stmt.executeQuery(sql1);//得到結果集
        con.commit();//事務提交  
        con.setAutoCommit(true);// 更改jdbc事務的預設提交方式 

List<Float> list1=new ArrayList<Float>();//建立取結果的列表,之所以使用列表,不用陣列,因為現在還不知道結果有多少,不能確定陣列長度,所有先用list接收,然後轉為陣列

 while (rs1.next()) {//如果有資料,取第一列新增如list 

list1.add(rs1.getFloat(1)); }

if(list1 != null && list1.size()>0){//如果list中存入了資料,轉化為陣列
          Float[] sno1=new Float[list1.size()];

for(int i=0;i<list1.size();i++){

sno1[i]=list1.get(i);}//陣列賦值了

for(i1=0;i1<test_N; i1++) {//將結果匯入到資料庫
String sql4 ="insert into testY(snoy1,snoy2)   values('"+test_Y[i1][0]+"','"+test_Y[i1][1]+"')";//表有幾列就同時匯入,後面update小麻煩
stmt4.executeUpdate(sql4);
}