19
Cc bưc cơ bn khi lm vic vi JDBC Trong qu trnh xây dng v pht trin ng dng, vic s dng 1 h qun tr cơ s d liu đ lưu tr thông tin v h tr cho qu trnh x l ca chương trnh l điu rt cn thit. Như vy vic to, duy tr v thao tc trên 1 kt ni đn cơ s d liu dng cho chương trnh l ht sc quan trng. Trong phm vi ca bi vit ny, tôi mun gii thiu ti cc bn nhng bưc cơ bn nht cn phi nm đưc khi lm vic vi JDBC (Java Database Conectivity). Vi 1 chương trnh vit bi ngôn ng Java c s dng JDBC cho vic giao tip vi cơ s d liu th bn phi thc hin 5 bưc như sau: Np trnh điu khin kt ni (Load Driver) Thit lp kt ni đn cơ s d liu thông qua “ Connection String” (Establish a database connection) To v thc thi 1 câu lnh truy vn đn cơ s d liu (Create and execute an SQL Statement) X l kt qu nhn v sau khi thi hnh lnh truy vn thnh công trên cơ s d liu (Process the results) Đng kt ni v gii phng ti nguyên đ dnh cho kt ni đ (Close the database connection) Bưc 1: Np trnh điu khin kt ni (Load Driver) Đ tin hnh np trnh điu khin kt ni, bn phi dng phương thc forName ca lp Class đ to ra 1 th hin ca lp kt ni da trên giao thc m JDBC cung cp. C php ca lnh ny như sau public static Class forName(String className) throws ClassNotFoundException V d : - Gi s bn mun s dng kt ni theo kiu 1 ca JDBC ( ODBC-JDBC Bridge) th câu lnh đ load driver cho kiu ny c th vit như sau Class.forName(“jdbc:odbc:JdbcOdbcDriver”); Ghi ch : Chui “jdbc:odbc:JdbcOdbcDriver” dng lm tham s ca hm chnh l giao thc điu khin dnh cho kt ni loi 1 ca JDBC - Trong trưng hp khc, bn mun kt ni đn cơ s d liu bng kiu kt ni th 4 ca JDBC đi vi cơ s d liu SQL Server, ta c th thc hin như sau Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);

Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

  • Upload
    banh-my

  • View
    58

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Cac bươc cơ ban khi lam viêc vơi JDBC

Trong qua trinh xây dưng va phat triên ưng dung, viêc sư dung 1 hê quan tri cơ sơ dư liêu đê lưu trư thông tin va hô trơ cho qua trinh xư ly cua chương trinh la điêu rât cân thiêt. Như vây viêc tao, duy tri va thao tac trên 1 kêt nôi đên cơ sơ dư liêu dung cho chương trinh la hêt sưc quan trong. Trong pham vi cua bai viêt nay, tôi muôn giơi thiêu tơi cac ban nhưng bươc cơ ban nhât cân phai năm đươc khi lam viêc vơi JDBC (Java Database Conectivity).

Vơi 1 chương trinh viêt bơi ngôn ngư Java co sư dung JDBC cho viêc giao tiêp vơi cơ sơ dư liêu thi ban phai thưc hiên 5 bươc như sau:

 Nap trinh điêu khiên kêt nôi (Load Driver)

 Thiêt lâp kêt nôi đên cơ sơ dư liêu thông qua “Connection String” (Establish a database connection)

 Tao va thưc thi 1 câu lênh truy vân đên cơ sơ dư liêu (Create and execute an SQL Statement)

 Xư ly kêt qua nhân vê sau khi thi hanh lênh truy vân thanh công trên cơ sơ dư liêu (Process the results)

 Đong kêt nôi va giai phong tai nguyên đa danh cho kêt nôi đo (Close the database connection)

Bươc 1: Nap trinh điêu khiên kêt nôi (Load Driver)Đê tiên hanh nap trinh điêu khiên kêt nôi, ban phai dung phương thưc forName cua lơp Class đê tao ra 1 thê hiên cua lơp kêt nôi dưa trên giao thưc ma JDBC cung câp. Cu phap cua lênh nay như sau

            public static Class forName(String className) throws ClassNotFoundException

Vi du :

-          Gia sư ban muôn sư dung kêt nôi theo kiêu 1 cua JDBC (ODBC-JDBC Bridge) thi câu lênh đê load driver cho kiêu nay co thê viêt như sau

Class.forName(“jdbc:odbc:JdbcOdbcDriver”);

Ghi chu : Chuôi “jdbc:odbc:JdbcOdbcDriver” dung lam tham sô cua ham chinh la giao thưc điêu khiên danh cho kêt nôi loai 1 cua JDBC

-          Trong trương hơp khac, ban muôn kêt nôi đên cơ sơ dư liêu băng kiêu kêt nôi thư 4 cua JDBC đôi vơi cơ sơ dư liêu SQL Server, ta co thê thưc hiên như sau

Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);

Ghi chu : Trong tinh huông nay thi chuôi “com.microsoft.sqlserver.jdbc.SQLServerDriver” dung lam tham sô cua ham chinh la giao thưc điêu khiên danh cho kêt nôi loai 4 cua JDBC đôi vơi cơ sơ dư liêu SQL Server

Bươc 2: Thiêt lâp kêt nôi đên cơ sơ dư liêu (Establish a database connection)Đê thưc hiên bươc thư 2 nay, ban phai tao 1 đôi tương cua lơp Connection đê nhân kêt qua tra vê cua phương thưc getConnection, đây la phương thưc tinh cua lơp DriverManager co nhiêm vu kiêm

Page 2: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

tra xem trong thư viên đa đươc cai đăt cua Java co trinh điêu khiên kêt nôi thich hơp ưng vơi chuôi kêt nôi ma lâp trinh viên đa mô ta va truyên vao thông qua tham sô cua ham hay không. Nêu thoa man, 1 đôi tương thuôc lơp Connection se tra vê cho phep chương trinh co thê thưc hiên cac tac đông cân thiêt xuông cơ sơ dư liêu tông qua đôi tương nay (nêu không thanh công, 1 đôi tương thuôc lơp SQLException se tra ra cho nơi goi no đê thông bao ly do tai sao không thê tao đươc kêt nôi). Cu phap đươc mô ta như sau.

            public static Connection getConnection(String strConnect) throws SQLException

vi du:

-          Ban muôn kêt nôi đên Database co tên qlCuocHen đa tao ra trong SQL Server thông qua tai khoan sa vơi mât khâu la 123456 thông qua kiêu kêt nôi thư nhât cua JDBC. Câu lênh co thê viêt như sau

String strConnect = "jdbc:odbc:driver={SQL Server};Server=BODUA-D778EAB2E; Database =qlCuocHen; UserName=sa; Password=123456";

ConnectioncnObj = DriverManager.getConnection(strConnect);

Ghi chu : Cu phap cua chuôi kêt nôi đươc mô ta như sau

“jdbc:odbc:driver={SQL Server};Server=<ServerName>; Database=<YourDB>;UserName=<dbUser>;Password=<***>”

Nhưng phân năm trong căp dâu <> ban phai thay thê cho phu hơp. Ban co thê tham khao bai “KÊT NÔI SQL SERVER KIÊU 1 : ODBC – JDBC BRIDGE” trong WebSite nay

Tương tư, nêu sư dung kiêu kêt nôi thư nhât, ban co thê sư dung connection String theo cu phap như sau

“dbc:sqlserver://<server_name>:<port>;databaseName=<YourDB>;user= <userName>; password=<pass>"

Ban cung co thê tham khao bai “KÊT NÔI SQL SERVER KIÊU 4 : Native protocol” trong WebSite nay

Bươc 3: Tao va thưc thi 1 câu truy vân dư liêu dang SQL (Create and Execute an SQL Statement)

Khi 1 kêt nôi đa đươc thiêt lâp đên Database thanh công, đê co thê tac đông lên cơ sơ dư liêu thông qua connection đo thi ban phai tao ra 1 đôi tương đê co thê thưc thi cac tac đông lên cơ sơ dư liêu cua chương trinh thông qua cac câu lênh dang SQL, đôi tương đo co thê la object cua 1 trong 3 lơp sau :

 Statement

 PreparedStatement

 CallableStatement

(Trong pham vi bai viêt nay, tôi mô ta cho viêc sư dung đôi tương Statement, nhưng đôi tương khac ta se mô ta thông qua nhưng bai viêt khac)

Như vây, sau khi thiêt lâp kêt nôi thanh công, ban phai tao ra 1 đôi tương Statement đê nhân vê 1 thê hiên cua lơp nay thông qua phương thưc createStatement() cua đôi tương Connection đa thiêt lâp.

Page 3: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Cu phap

            public Statement createStatement() throws  SQLException

VD

Connection ketNoi = null;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  

String Url=""jdbc:odbc:driver={SQL Server};Server=BODUA-D778EAB2E; Database =qlCuocHen; UserName=sa; Password=123456";";               

ketNoi= DriverManager.getConnection(Url);

ResultSet kq=null;

Statement stCmd = this.ketNoi.createStatement();

 

Bươc 4: Xư ly kêt qua nhân vê sau khi thi hanh lênh truy vân thanh công trên cơ sơ dư liêu (Process the results)

Môt đôi tương cua lơp Statement, sau khi tao ra co thê thưc thi 1 lênh SQL tac đông lên cơ sơ dư liêu thông qua phương thưc executeQuery() (hay executeUpdate() – thương dung khi cân thưc hiên cac câu lênh SQL dang DDL: Data Definition Language). Kêt qua tra vê khi thưc thi lênh executeQuery se la 1 đôi tương cua lơp ResultSet chưa thông tin la kêt qua truy vân đươc tư cơ sơ dư liêu. Cu phap cua lênh nay như sau:

            public ResultSet executeQuery(String strQuery) throws  SQLException

Vơi 1 đôi tương ResultSet, ban co thê sư dung cac phương thưc tiêu biêu đê thao tac đôi vơi dư liêu, hay điêu khiên đôi tương nay như sau

.next() – cho phep dich chuyên con tro sang mâu tin kêt tiêp đê truy xuât dư liêu

.getString(tenCot) – Cho phep ban đoc thông tin cua 1 trương thông tin dang chuôi co trong kêt qua tra vê cua ResultSet. Tương tư đôi vơi cac kêt qua dang khac cua cac kiêu thuôc dang Primitive data type như : int, boolean, byte, long, float, double … Cac phương thưc tương ưng co thê lân lươt la : .getInt(tenCot); .getBoolean(tenCot); .getByte(tenCot); .getLong(tenCot); .getFloat(tenCot); .getDouble(tenCot)… Cac ham nay thương overload 2 dang, dang thư nhât sư dung tham sô kiêu chuôi chi ra tên cua côt chưa thông tin muôn đoc, dang thư 2 kiêu int mô ta cho chi sô cua côt muôn đoc.

VD:

Gia sư sau khi đa tao kêt nôi thanh công, ta tao 1 đôi tương cua lơp Statement va đoc dư liêu cua bang chưa thông tin la tên cua cac thanh viên co trong dsNguoiQuen cua database qlCuocHen, vơi cac thông tin cân đoc vê bao gôm cac fields : hoNQ, tenNQ, gioiTinh, tuoiNQ. Ta se lam như sau

StatementstCmd = ketNoi.createStatement();

String strQuery= “Select hoNQ, tenNQ, gioiTinh, tuoiNQ from dsNguoiQuen;”;

Page 4: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

ResultSetkq = stCmd.executeQuery(strQuery);

//-- Lăp trong khi con đoc đươc dư liêu trong ResultSet

While (kq.next()){

          System.out.print(“ Ho va tên :”+kq.getString(“hoNQ”)+“  ”+kq.getString(“tenNQ”); 

          System.out.print(“Giơi tinh :”+(kq.getBoolean(“gioiTinh”)?”Nam”:”Nư”));

          System.out.println(“Hiên nay : “+kq.getInt(“tuoiNQ”).toString()+” Tuôi”);

}

Hoăc ta co thê truy xuât đên chi sô cua côt như sau

//-- Lăp trong khi con đoc đươc dư liêu trong ResultSet

While (kq.next()){

          System.out.print(“ Ho va tên :”+kq.getString(1)+“  ”+kq.getString(2); 

          System.out.print(“Giơi tinh :”+(kq.getBoolean(3)?”Nam”:”Nư”));

          System.out.println(“Hiên nay : “+kq.getInt(4).toString()+” Tuôi”);

}

 

Bươc 5: Đong kêt nôi va giai phong tai nguyên (Close the database connection)Đây la bươc đơn gian nhât va cung la bươc kha quan trong trong 5 bươc. Hay tương tương chương trinh cua ban trong qua trinh lam viêc co thê phai tao ra rât nhiêu kêt nôi môi khi cân tac đông lên cơ sơ dư liêu, tai môi thơi điêm 1 kêt nôi đươc tao ra, JVM phai câp phat 1 vung nhơ đê quan ly va cho phep đôi tương kêt nôi nay lam viêc. Cung cung thơi điêm đo, tai Database server, ưng vơi 1 connection cung se đươc tao va đươc câp phat 1 vung nhơ riêng. Nêu sau môi lân lam viêc vơi kêt nôi xong, ban không thưc hiên giai phong tai nguyên thi đên 1 luc nao đo database server se chăng con đu bô nhơ đê câp phat cho 1 kêt nôi mơi nưa va như thê chương trinh cua chung ta cung co thê đông nghia viêc không thê hoat đông đươc nưa do bi gian đoan vơi nguôn cung câp dư liêu danh cho no. Hay nhơ đong kêt nôi sau khi đa lam viêc xong la điêu vô cung quan trong va cân thiêt

Cu phap

            public void close() throws  SQLException

Page 5: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Ưng dung JDBC-ODBC type I đê kêt nôi vơi Database cua Microsoft Acces

I/- Tao 1 Database băng Microsoft Acces đê sư dung lam nguôn dư liêu cho chương trinh

Khơi đông Microsoft Acces va tiên hanh tao Database cung vơi cac Table cân thiêt, sau đo tiên hanh nhâp cac thông tin cân thiêt đê thư nghiêm trong chương trinh cua chung ta.Trong bai phân minh hoa cho bai viêt nay, tôi đa tao 1 Database co tên “banHang.mdb” va cât trong thư muc gôc cua đia D:, trong Database nay, tôi tao ra 1 table co tên la hangHoa vơi câu truc như sau

Sau đo tiên hanh nhâp 1 sô thông tin như hinh min hoa dươi đây

II/- Khai bao va câu hinh ODBC trong môi trương

Mơ Control Panel, sau đo Double click vao biêu tương Administrativ Tools

va chon Data Source (ODBC) như hinh sau

Page 6: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Luc nay, ban se thây cưa sô cho phep câu hinh ODBC trong môi trương windows xuât hiên như hinh dươi đây

Tiêp theo ban se chon [Tab] System DSN va chon nut “Add” va tiên hanh xac đinh nguôn dư liêu muôn khai thac thông qua ODBC, trong trương hơp nay tôi chon nguôn cung câp dư liêu la Microsoft Access; sau đo chon nut “Finish”

Page 7: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Tiêp theo, ban se thây cưa sô “ODBC Microsoft Access Setup” xuât hiên như hinh dươi đây đê ban đăt tên cho Data Source cua minh (Tên nay se sư dung đê truy xuât đên trong chương trinh ma chung ta se viêt băng Java) đông thơi xac đinh tâp tin cơ sơ dư liêu se sư dung

- Trong muc “Data Source Name” tôi đăt tên la testODBC va thông qua nut Select, tôi chon tâp tin cơ sơ dư liêu đa tao trong Access trươc đo (Tâp tin banHang.mdb đa tao trong thư muc gôc cua đia D:)

Page 8: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Sau khi đa xac đinh cac thông sô trên, ban chon “OK”. Nêu thanh công se thây cua sô “ODBC Data Source Administrator” vơi tên cua Data Source vưa tao như hinh dươi đây

III/- Viêt 1 chương trinh băng Java đê đoc thông tin tư testODBC vưa tao

Sau khi đa tao ODBC thanh công thông qua cac bươc trên, ban hay khơi đông NetBean va tao 1 chương trinh băng Java đê đoc dư liêu tư ODBC đê hiên thi dư liêu cua bang hangHoa lên JTableChon New Project va tao 1 Project dang Java Desktop Application như sau

Page 9: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Chon Next, Next ban se đên bươc thư 3 đê đăt tên cho Project cua minh

Page 10: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Luc nay, giao diên trong chê đô Design cua mainPanel se co dang thê nay

Hay tao trong [menu]File 1 Menu Item đê goi cưa sô chưa JTable ma ta se tao đê hiên thi thông tin cua bang hangHoa trong Database banHang như hinh minh hoa sau

Page 11: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

(Hay nhơ chô nay, lat nưa chung ta se quay lai viêt lênh cho sư kiên xay ra khi ngươi dung Click vao [menu] Thông tin hang hoa thi cưa sô chưa JTable se hiên ra đê cho xem nôi dung cua Table hangHoa)Bây giơ, ta se tiên hanh tao ra 2 class va 1 JDialog cho chương trinh. Qua nhiêu phai không !, tôi xin giai thich sơ lươc đê giup ban đinh hương trươc. Chung ta cân 2 Class, trong đo 1 Class dung cho muc đich kêt nôi đên Database cua Access thông qua ODBC vưa tao trong hương dân ơ muc trên. Class thư 2 se thưa kê tư AbstractTableModel thuôc javax.swing.table đê lây thông tin tư ResultSet găn vao JTable cua chung ta, JDialog con lai dung đê chưa JTable hiên thi thông tin cua bang hangHoa.1/ Tao lơp kêt nôi đên ODBC

-                     Ta sư dung hinh thưc kêt nôi đên Database cua Microsoft Access băng JDBC type I ODBC – JDBC Bridge. Ban co thê tham khao bai viêt hương dân cach kêt nôi Type I ơ đâyLơp accConnect  tôi tao ra co nôi dung như sau 

import java.sql.*;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;

/** * * @author Nguyen Mai Huy */

public class accConnect {

    private Connection ketNoi = null;    /**     * Phương thưc khơi tao măc nhiên cua lơp Main     * @throws Exception     */

    public accConnect() throws Exception {        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        StringUrl="jdbc:odbc:testODBC";        this.ketNoi= DriverManager.getConnection(Url,"","");    }    /**     * Phương thưc cho phep truy xuât Databse đê đoc thông tin cua 1 Table     * va tra vê kêt qua đoc đươc cho 1 đôi tương ResultSet     * @param tbName - Tên cua Table muôn đoc dư liêu     * @return Kêt qua đoc đươc dươi dang 1 ResultSet Object tương ưng vơi nHang va nCôt     * trong đo nHang tương ưng vơi thông tin cua n đôi tương đươc lưu trư trong bang     * va n Côt tương ưng vơi sô Fields co trong Table cân truy vân

Page 12: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

     * @throws SQLException     */

    public ResultSet GetData(String tbName)throws SQLException {        ResultSet kq=null;

        Statement stCmd = (Statement) this.ketNoi.createStatement();

        String sqlQuery = "select * from " + tbName;        kq = stCmd.executeQuery(sqlQuery);

        return kq;    }    /**     * Phương thưc dung đê đong kêt nôi vơi  Database Source Name     * @throws Exception     */

    public void Close() throws Exception {        if (this.ketNoi != null) this.ketNoi.close();  //--Nêu kêt nôi cong đang mơ thi đong lai

    }}

2/-  Tiêp theo tôi tao lơp rsTableModel thưa kê tư Abstract class đê dung cho viêc nap thông tin lên JTable (Ban co thê tham khao bai viêt sau đê hiêu thêm vê cach đưa dư liêu tư Database lên JTable)Nôi dung cua rsTableModel class như sau:/** * @author Nguyen Mai Huy * Đinh nghia 1 lơp thưa kê tư AbstractTableModel * đê nap thông tin cho JTable */

public class rsTableModel extends  AbstractTableModel {    //-- Khai bao 2 Vector Object đê sư dung cho JTable

    private  Vector colHeaders;        //-- Chưa thông tin la tên cua cac Field dung lam ColumnHeader

    private  Vector tbData;              //-- Phân chưa dư liêu cua JTable    /**     * Constructor truyên vao1 ResultSet đê gan dư liêu cho JTable co Model tham chiêu tơi     * @param rset - ResultSet chưa dư liêu đoc tư Database     * @throws SQLException     */    public rsTableModel(ResultSet rsData) throws SQLException {        ResultSetMetaData rsMeta = rsData.getMetaData();    //-- Đoc MetaData cua ResultSet

        int count = rsMeta.getColumnCount();              //-- Xac đinh sô Field trong ResultSet

        colHeaders = new Vector(count);        tbData = new Vector();                  //--- Lăp tương ưng vơi sô phân tư cua columnHeaders đê lây tên cua tưng côt trong bang        for (int i = 1; i <= count; i++) {            colHeaders.addElement(rsMeta.getColumnName(i));        }           //--- Lăp tư Record đâu tiên đên cuôi ResultSet đê lây dư liêu va Add vao Table        while (rsData.next()) {                      //--- Khai bao 1 Object Vector co tên la rowData đê chưa dư liêu tương ưng vơi môi dong đoc tư Table            Vector dataRow = new Vector(count);                      //-- Lăp dưa theo sô côt cua bang đê lây thông tin cua tưng đôi tương            for (int i = 1; i <= count; i++) {                dataRow.addElement(rsData.getObject(i));

Page 13: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

            }            tbData.addElement(dataRow);        }    }    /**     * Đinh nghia phương thưc lây sô côt cua JTable     * @return     */    public int getColumnCount() {        return colHeaders.size();    }    /**     * Đinh nghia phương thưc lây sô hang co trong JTable     * @return     */    public int getRowCount() {        return tbData.size();    }    /**     * Đinh nghia phương thưc lây dư liêu tai 1 ô nao đo cua bamg     * @param row - Vi tri cua hang chưa ô dư liêu cân lây     * @param column - Vi tri cua côt chưa ô dư liêu cân lây     * @return Gia tri tra vê cho nơi goi la 1 Object chưa gia tri, đê dung phai Cast lai     */    public Object getValueAt(int row, int column) {        Vector rowData = (Vector) (tbData.elementAt(row));        return rowData.elementAt(column);    }    /**     * Đinh nghia lai ham lây tên cua côt thư n trong JTable     * @param column - Vi tri cua côt muôn lây tên     * @return - Kêt qua tra vê la tên cua côt ơ dang chuôi ky tư     */    @Override    public String getColumnName(int column) {        return (String) (colHeaders.elementAt(column));    }}

3/ - Tao 1 JDialog đê hiên thi thông tin đoc đươc tư Database như sauBan new file va tao ra 1 JDialog Form co trong Categories “Swing GUI Forms” như sau

Page 14: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Sau đo đăt tên la ttHangHoa va chon Finish

Page 15: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Tiêp theo, trong cưa sô Design cua netBean, ban keo vao trong JDialog vưa tao 1 JTable đê hiên thi dư liêu se đoc đươc tư Database va đăt tên cho no la bangDL.

Page 16: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Luc nay, ta se chon nut Source đê chuyên sang phân ma lênh đê viêt Code nap dư liêu cho JTable vưa taoTrong cưa sô ma lênh cua JDialog “ttHangHoa”, ban hay viêt 1 ham nap thông tin tư Database lên JTable co tên bangDL va đăt ham nay trong phương thưc khơi tao cua JDialog ttHangHoa. Phân ma lênh như sau: 

4/ - Phân viêc cuôi cung cua chung ta bây giơ la quy trơ vê lơp View cua chương trinh chinh va viêt lênh cho Menu “Thông tin hang hoa” đê khi ngươi dung nhân vao Menu nay thi cưa sô chưa thông tin trên JTable se hiên raTôi chon sư kiên cho Menu nay như sau

Page 17: Các bước cơ bản khi làm việc với JDBC và cách kết nối tới database

Luc nay man hinh se chuyên sang phân ma lênh va ban se viêt vao đoan ma sau cho thu tuc sư kiên cua menu nay

Khi chay chương trinh, nêu ban chon Menu “Thông tin hang hoa” thi JTable đoc thông tin tư Database cua Acces se hiên lên như hinh sau

Qua nhiêu thao tac phai không ? Cô găng lam thư 50 lân, ban se thây no chăng co gi … va thât la đơn gian. Chuc ban thanh công !.