通過jdbc-odbc往Access數據庫中OLE分類的表中插入數據的例子
發表時間:2023-08-13 來源:明輝站整理相關軟件相關文章人氣:
[摘要]/***說明:*通過jdbc-odbc往Access數據庫中插入圖片、或者亂七八糟的文件都行*注意,用DataInputStream會出錯*/import java.sql.*;import jav...
/**
*說明:
*通過jdbc-odbc往Access數據庫中插入圖片、或者亂七八糟的文件都行
*注意,用DataInputStream會出錯
*
/
import java.sql.*;
import java.io.FileInputStream;
public class sss
{
public static void main(String args[])
{
try
{
//連接ACCESS數據庫,這里用了連接串哦
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
java.sql.Connection conctn = DriverManager.getConnection(
"jdbc:odbc:;"+
"DRIVER=Driver do Microsoft Access (*.mdb);"+
"UID=admin;"+
"UserCommitSync=Yes;"+
"Threads=3;"+
"SafeTransactions=0;"+
"PageTimeout=5;"+
"MaxScanRows=8;"+
"MaxBufferSize=2048;"+
"FIL=MS Access;"+
"DriverId=25;"+
//"DefaultDir=C:\\Documents and Settings\\Administrator\\My Documents;"+
"DBQ=D:\\gtk.mdb"
);
int length = 0;
//
// 連接對象設置數據庫為
//
conctn.setAutoCommit(false);
//
// 預編譯指令
//
PreparedStatement pstmt =conctn.prepareStatement( "insert into testsaveimg ( title, image ) values ( ? , ? )" );
//
//得到一個文件輸入流
//
FileInputStream in = new FileInputStream( "D:\\test.jpg" );
length = in.available();
System.out.println( in.toString() +" has "+ length +" bytes" );
//
// 設置插入的值
//
pstmt.setString( 1, "插入圖片的標題" );
pstmt.setBinaryStream( 2, in , in.available() );
//這里in是文件輸入流,如果用DataInputStream就會出錯,in.available()是in的長度
//
// 執行插入操作
//
System.out.println( "插入了 "+ pstmt.executeUpdate ()+ " 行數據" );
conctn.commit();
pstmt.close();
conctn.close();
}catch(Exception e){
e.printStackTrace();
System.out.println("出錯了!");
}
}
}