https://drive.google.com/file/d/0B4A4xib87TTcTFZpdHZ0ZVlfQnM/view?usp=sharing&resourcekey=0-Uxga50RFzN3ZaaBxA4lNOQ
解壓縮後,會有五個JAR檔案
ucanaccess-4.0.2.jar
lib/commons-lang-2.6.jar
lib/commons-logging-1.1.1.jar
lib/hsqldb.jar
lib/jackcess-2.1.6.jar
先把這五個檔案新增成外部JAR
作法:在專案上按右鍵→內容→JAVA建置路徑→新增外部JAR
然後就可以開始寫程式了
程式碼參考如下
package jdbcexample;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import net.ucanaccess.jdbc.JackcessOpenerInterface;
public class JDBCExample
{
public static void main(String[] args) throws SQLException
{
Connection connDB = null;
try
{
//建立驅動程式,連結odbc至Microsoft Access
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
}catch(ClassNotFoundException e)
{
System.out.println("Driver loading failed!");
}
//連結資料庫
connDB = DriverManager.getConnection("jdbc:ucanaccess://d:/text.mdb");
//SQL共有 INSERT、SELECT、UPDATE、DELETE,以下分別列舉
Statement st = connDB.createStatement();
st.execute("SELECT * FROM pic");
ResultSet rs = st.getResultSet();
while(rs.next())
{
System.out.println(rs.getString("識別碼")+" "+rs.getString("檔案名稱"));
}
}
}
106.10.31 要讓視窗程式讀取ACCESS
1.在視窗程式的 public 後面加上 throws SQLException
2.後面再加上讀取資料庫的程式
3.下方說明是讓JTextArea可以使用捲軸
4.紅色字體部分是後來加上的 下拉式選單設定
public TEXT() throws SQLException{
JFrame f = new JFrame("Text Area Examples");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextArea content = new JTextArea(100,10) ;
JScrollPane g = new JScrollPane(content);
f.setBounds(100,100,582,520);
f.setVisible(true);
f.getContentPane().setLayout (null); //nul表示自訂樣式,不使用預設的樣式
//content.setBounds(10,10,100,100);
g.setBounds(110,51,413,390);
f.getContentPane().add(g);
JPanel Pan=new JPanel(null);
Pan.setLocation(0,0);
Pan.setSize(400,300);
JComboBox box=new JComboBox();
box.setBounds(10,10,100,30);
Connection connDB = null;
try
{
//建立驅動程式,連結odbc至Microsoft Access
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
}catch(ClassNotFoundException e)
{
System.out.println("Driver loading failed!");
}
//連結資料庫
connDB = DriverManager.getConnection("jdbc:ucanaccess://f:/text.mdb");
//SQL共有 INSERT、SELECT、UPDATE、DELETE,以下分別列舉
Statement st = connDB.createStatement();
st.execute("SELECT * FROM 文章 where 識別碼=228");
ResultSet rs = st.getResultSet();
while(rs.next())
{
content.setText(rs.getString("內容"));
box.addItem(rs.getString("識別碼"));
}
Pan.add(box);
f.getContentPane().add(Pan);
}
當宣告 JScrollPane g = new JScrollPane(content); 之後,物件g就會內嵌物件content並在畫面上顯示,因此如果要宣告物件的在畫面上的大小,就應該要用JScrollPane的方法來設定,也就是用JScrollPane的setBounds來設定,千萬不要用JTextArea的setBounds來設定,否則會導致捲軸無法使用。
2011.11.25 補充
讓程式讀取專案內資料夾的檔案
connDB = DriverManager.getConnection("jdbc:ucanaccess://bin/data/text.mdb");
(使用相對路徑)
沒有留言:
張貼留言