SlideShare a Scribd company logo
1 of 12
Download to read offline
ANHMATTROI 
1 
Lớp kết nối CSDL dùng JDBC trong java 
- Code lớp kết nối 
package csdl; 
import java.sql.Connection; 
import java.sql.Driver; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import javax.swing.JOptionPane; 
/** 
* 
* @author ANHMATTROI 
*/ 
public class KetNoi 
{ 
private Connection ket_noi; 
private String chuoi_ket_noi; 
private Driver driver; 
public KetNoi() 
{ 
ket_noi = null; 
try 
{ 
driver = new <lớp>(); 
DriverManager.registerDriver(driver); 
} 
catch (SQLException ex) 
{ 
ex.printStackTrace(); 
} 
chuoi_ket_noi = "chuỗi kết nối"; 
} 
//mở kết nối 
public boolean Mo() 
{ 
try 
{ 
ket_noi = DriverManager.getConnection(chuoi_ket_noi); 
} 
catch(SQLException ex) 
{ 
ex.printStackTrace(); 
return false; 
} 
return true; 
}
ANHMATTROI 
2 
//hàm trả về một bảng dữ liệu từ câu lệnh truy vấn select ..... 
public ResultSet LayDL(String str) 
{ 
ResultSet bang = null; 
try 
{ 
Statement lenh = this.ket_noi.createStatement(); 
bang = lenh.executeQuery(str); 
} 
catch(SQLException ex) 
{ 
ex.printStackTrace(); 
} 
return bang; 
} 
//cập nhật cơ sở dữ liệu như thêm - xóa - sửa: chạy các lệnh truy vấn 
//update, delete, insert .. 
public boolean CapNhat(String str) 
{ 
try 
{ 
Statement lenh = this.ket_noi.createStatement(); 
lenh.execute(str); 
} 
catch(SQLException ex) 
{ 
ex.printStackTrace(); 
return false; 
} 
return true; 
} 
//đóng kết nối khi thoát ứng dụng 
public void DongKetNoi() 
{ 
if(this.ket_noi != null) 
{ 
try 
{ 
this.ket_noi.close(); 
} 
catch (SQLException ex) 
{ 
ex.printStackTrace(); 
} 
} 
} 
} 
- Lớp gồm có hàm khởi tạo, mở kết nối, hàm lấy dữ liệu, hàm cập nhật và hàm đóng kết nối khi thoát ứng dụng 
+ Khai báo các thư viện
ANHMATTROI 
3 
import java.sql.Connection; 
import java.sql.Driver; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
+ Hàm khởi tạo: đăng kí trình điều khiển cho ứng dụng để kết nối tới CSDL 
public KetNoi() 
{ 
ket_noi = null; 
try 
{ 
<đăng kí driver>; 
} 
catch (SQLException ex) 
{ 
ex.printStackTrace(); 
} 
connection_string = <chuỗi kết nối tới csdl>; 
} 
Dùng phương thức Class.forName(“<gọi gói chứa trình điều khiển>”) hoặc dùng 
Driver driver = new <gói chứ trình điều khiển>(); 
DriverManager.registerDriver(driver); 
+ Hàm mở kết nối: để kết nối tớ csdl bạn có thể dùng các phương thức sau: 
Connection ket_noi; 
ket_noi = DriverManager.getConnection(String url) 
ket_noi = DriverManager.getConnection(String url, Properties prop) 
ket_noi = DriverManager.getConnection(String url, String user, String password) 
public boolean Mo() 
{ 
try 
{ 
ket_noi = DriverManager.getConnection(chuoi_ket_noi); 
} 
catch(SQLException ex) 
{ 
ex.printStackTrace(); 
return false;//lỗi kết nối 
} 
return true;//kết nối thành công 
}
ANHMATTROI 
4 
+ Hàm lấy dữ liệu của kết quả chạy câu lệnh truy vấn sql: tham số truyền vào là một lệnh truy ván sql và yêu cầu trả lại dữ liệu sau câu lệnh truy vấn đó, câu lệnh truy vấn truyền vào là khối lênh select. Ví dụ như: select * from SinhVien và thông tin của các sinh viên được trả về ở dạng bảng 
+ Hàm cập nhật: tham số truyền vào là câu lệnh truy vấn sql, thường là của khối lệnh update, delete, insert, drop, alter, … và kết quả trả về ở dạng boolean để xem câu lệnh truy vấn có được cập nhật thành công hay không. Ví dụ như: delete from SinhVien masv = ‘sv12345’ 
+ Hàm đóng kết nối: ngắt kết nối csdl khi thoát ứng dụng …. 
- Trước khi kết nối tới CSDL bạn phải đăng kí trình điều khiển trong ứng dụng của bạn. 
 Trong T-SQL : 
Hàm khởi tạo 
 Với jdk 1.6, 1.7: 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
chuoi_ket_noi = "jdbc:odbc:Driver={SQL Server}; " 
+ "Server=<tên server>; Database=<tên cơ sở dữ liệu>;" 
+ UserName=<tên đăng nhập sql>; PassWord=<mật khẩu>"; 
Hoặc dùng: 
driver = new sun.jdbc.odbc.JdbcOdbcDriver(); 
DriverManager.registerDriver(driver);
ANHMATTROI 
5 
 . Với jdk 1.8: bạn tải sqljdbc_.jar, click chuột phải vào project chọn properties, click vào libraries chọn add/jar/folder rồi duyệt đến thư mục chứa file sqljdbc_.jar chọn nó và nhấn OK
ANHMATTROI 
6 
Tiếp theo: click Window -> Services, click phải chuột vào Databases trong tab services và chọn new connection
ANHMATTROI 
7 
Chọn new driver -> add duyệt tìm file sqljdbc.jar 
Chọn next
ANHMATTROI 
8 
Lấy cổng kết nối T-SQL: mở sql server configuaration và chọn như hình dưới
ANHMATTROI 
9 
Tiếp theo next -> next -> finish 
Sau các bước trên ta có được chuỗi kết nối 
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
chuoi_ket_noi = " jdbc:sqlserver://BeBuSQLEXPRESS:1362; 
databaseName=QLSV;UserName=ANHMATTROI;PassWord=anhmattroi";
ANHMATTROI 
10 
Hoặc dùng: 
driver = new com.microsoft.sqlserver.jdbc.SQLServerDriver(); 
DriverManager.registerDriver(driver); 
Hàm hoàn thiện: 
public KetNoi() 
{ 
ket_noi = null; 
try 
{ 
driver = new 
com.microsoft.sqlserver.jdbc.SQLServerDriver(); 
DriverManager.registerDriver(driver); 
} 
catch (SQLException ex) 
{ 
ex.printStackTrace(); 
} 
chuoi_ket_noi = "jdbc:sqlserver://BeBuSQLEXPRESS:1362; 
databaseName=QLSV;UserName=ANHMATTROI; 
PassWord=anhmattroi"; 
} 
Hàm mở kết nối: khi đã đăng kí trình điều khiển ta tiên hành kết nối csdl 
public ResultSet LayDL(String str) 
{ 
ResultSet bang = null; 
try 
{ 
Statement lenh = this.ket_noi.createStatement(); 
bang = lenh.executeQuery(str); 
} 
catch(SQLException ex)
ANHMATTROI 
11 
{ 
ex.printStackTrace(); 
} 
return bang; 
} 
- Sau khi mở kết nối ta thực hiên các thao tác thêm – sửa – xóa trên csdl bằng hàm LayDL(String sql) và hàm CapNhat(String sql). 
+ Duyệt dữ liệu dạng bảng trả về từ hàm LayDL(String sql) và hiện thị lên jtable 
KetNoi kn = new KetNoi(); 
kn.Mo(); 
ResultSet bang = kn.LayDL("select * from SinhVien"); 
boolean kq = bang.next(); 
String[] hang; 
DefaultTableModel model = (DefaultTableModel)jtable.getModel(); 
int i = 0; 
while(kq) 
{ 
hang = new String[5]; 
hang[0] = bang.getString(1); 
hang[1] = bang.getString(2); 
hang[2] = bang.getString(3); 
hang[3] = bang.getString(4); 
hang[4] = bang.getString(5); 
i++; 
model.addRow(hang); 
kq = bang.next(); 
} 
bang.close(); 
- Một số hàm thường dùng khi làm việc với đối tượng JTable trong java 
JTable jtable; 
//chèn cột 
String[] ds_cot = new String[3] = {“Mã sinh viên”, “Tên”, “Quê quán”}; 
TableModel table_model = new DefaultTableModel(null, ds_cot); 
jtable.setModel(table_model); 
//toàn bộ số hàng hiện có 
jtabe.getRowCount(); 
//hiện thị đường kẻ ngang dọc của bảng 
jtabe.setShowGrid(true/false); 
//thay đổi ô chọn trong bảng
ANHMATTROI 
12 
jtabe.changeSelection(<chỉ số hàng>, <chỉ số cột>, false, false); 
//nhận model dùng để thêm hàng mới vào jtable 
jtabe.getModel() 
//nhận chỉ số hàng khi click chuột vào jtable 
int i = jtabe.getSelectedRow(); 
//thêm một hàng vào jtable 
DefaultTableModel model = (DefaultTableModel) jtabe.getModel(); 
String[] hang = new String[3]; 
hang[0] = “sv12345”; 
hang[1] = “Sinh Viên”; 
hang[2] = “Lớp tin5a”; 
model.addRow(hang); 
//xóa một hàng tại chỉ số i với -1 < i < jtabe.getRowCount(); 
DefaultTableModel model = (DefaultTableModel) jtabe.getModel(); 
model.removeRow(i); 
//lấy giá trị của mỗi ô trong jtable 
String giatri; 
if(jtabe.getValueAt(<chỉ số hàng>, <chỉ số cột>) != null) 
giatri = jtabe.getValueAt(<chỉ số hàng>, <chỉ số cột>) 
//gán giá trị lên một ô của bảng jtable 
String giatri = “hi”; 
jtabe.setValueAt(giatri, <chỉ số hàng>, <chỉ số cột>); 
Link tải project ví dụ về thêm sửa xóa csdl T-SQL dùng JDBC trong java: tạo mộ csdl QLSV gồm có một bảng SinhVien chứa các cột: MaSV, HoTen, NgaySinh, GioiTinh, DiaChi 
http://www.mediafire.com/download/qv9d29we2bn8jfe/CSDL.rar

More Related Content

What's hot

Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTBài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTMasterCode.vn
 
Bai4 basic jsp_4474
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474Ham Chơi
 
Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952Ham Chơi
 
Bai3 basic servlets_956
Bai3 basic servlets_956Bai3 basic servlets_956
Bai3 basic servlets_956Ham Chơi
 
3. phan quyen trong sql server 01012010
3. phan quyen trong sql server 010120103. phan quyen trong sql server 01012010
3. phan quyen trong sql server 01012010Truong van Duoc
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
 
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTBÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTMasterCode.vn
 
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webBài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
 
Thuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieuThuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieutruong le hung
 
Tao mot ket noi toi co so du lieu dung c#
Tao mot ket noi toi co so du lieu dung c#Tao mot ket noi toi co so du lieu dung c#
Tao mot ket noi toi co so du lieu dung c#truong le hung
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTMasterCode.vn
 
Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2Hiển Phùng
 
4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieu4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieuDao Uit
 
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webMasterCode.vn
 
Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Ham Chơi
 

What's hot (20)

Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#
 
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTBài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
 
Bai4 basic jsp_4474
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474
 
Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952
 
Bai3 basic servlets_956
Bai3 basic servlets_956Bai3 basic servlets_956
Bai3 basic servlets_956
 
3. phan quyen trong sql server 01012010
3. phan quyen trong sql server 010120103. phan quyen trong sql server 01012010
3. phan quyen trong sql server 01012010
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
 
Web203 slide 5
Web203   slide 5Web203   slide 5
Web203 slide 5
 
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTBÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
 
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webBài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
 
Thuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieuThuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieu
 
Web301 slide 2
Web301   slide 2Web301   slide 2
Web301 slide 2
 
Tao mot ket noi toi co so du lieu dung c#
Tao mot ket noi toi co so du lieu dung c#Tao mot ket noi toi co so du lieu dung c#
Tao mot ket noi toi co so du lieu dung c#
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
 
Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2
 
4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieu4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieu
 
Mo hinh-3-lop
Mo hinh-3-lopMo hinh-3-lop
Mo hinh-3-lop
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
 
Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567
 

Similar to Lớp kết nối csdl dùng jdbc trong java

6.adapterset
6.adapterset6.adapterset
6.adaptersetDao Uit
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#Dao Uit
 
Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)Minh Tri Lam
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nayledoanduc
 
3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#Dao Uit
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...MasterCode.vn
 
E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPelearninglabvn
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...zzsunzz
 

Similar to Lớp kết nối csdl dùng jdbc trong java (20)

Ung dung web chuong 6
Ung dung web  chuong 6Ung dung web  chuong 6
Ung dung web chuong 6
 
Cach su dung data reader
Cach su dung data readerCach su dung data reader
Cach su dung data reader
 
6.adapterset
6.adapterset6.adapterset
6.adapterset
 
C5. Model, DataSharing.pdf
C5. Model, DataSharing.pdfC5. Model, DataSharing.pdf
C5. Model, DataSharing.pdf
 
3 lop
3 lop3 lop
3 lop
 
Giới thiệu Yii Framework 1
Giới thiệu Yii Framework 1Giới thiệu Yii Framework 1
Giới thiệu Yii Framework 1
 
Aspnet 3.5 _05
Aspnet 3.5 _05Aspnet 3.5 _05
Aspnet 3.5 _05
 
Php day4
Php day4Php day4
Php day4
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
 
Ch06
Ch06Ch06
Ch06
 
Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nay
 
ado.net
ado.netado.net
ado.net
 
3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#
 
Aspnet 3.5 _04
Aspnet 3.5 _04Aspnet 3.5 _04
Aspnet 3.5 _04
 
Unit Test
Unit TestUnit Test
Unit Test
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHP
 
Yii
YiiYii
Yii
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
 

More from ANHMATTROI

Chuỗi số tăng dần lớn nhất
Chuỗi số tăng dần lớn nhấtChuỗi số tăng dần lớn nhất
Chuỗi số tăng dần lớn nhấtANHMATTROI
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbANHMATTROI
 
Cap nhat CSDL trong VB.NET
Cap nhat CSDL trong VB.NETCap nhat CSDL trong VB.NET
Cap nhat CSDL trong VB.NETANHMATTROI
 
Thuat toan Prim
Thuat toan PrimThuat toan Prim
Thuat toan PrimANHMATTROI
 
Co so du lieu t sql
Co so du lieu t sqlCo so du lieu t sql
Co so du lieu t sqlANHMATTROI
 
Mot so ham do hoa trong c c++
Mot so ham do hoa trong c c++Mot so ham do hoa trong c c++
Mot so ham do hoa trong c c++ANHMATTROI
 
Mot so bai toan quy hoach dong
Mot so bai toan quy hoach dongMot so bai toan quy hoach dong
Mot so bai toan quy hoach dongANHMATTROI
 

More from ANHMATTROI (7)

Chuỗi số tăng dần lớn nhất
Chuỗi số tăng dần lớn nhấtChuỗi số tăng dần lớn nhất
Chuỗi số tăng dần lớn nhất
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vb
 
Cap nhat CSDL trong VB.NET
Cap nhat CSDL trong VB.NETCap nhat CSDL trong VB.NET
Cap nhat CSDL trong VB.NET
 
Thuat toan Prim
Thuat toan PrimThuat toan Prim
Thuat toan Prim
 
Co so du lieu t sql
Co so du lieu t sqlCo so du lieu t sql
Co so du lieu t sql
 
Mot so ham do hoa trong c c++
Mot so ham do hoa trong c c++Mot so ham do hoa trong c c++
Mot so ham do hoa trong c c++
 
Mot so bai toan quy hoach dong
Mot so bai toan quy hoach dongMot so bai toan quy hoach dong
Mot so bai toan quy hoach dong
 

Lớp kết nối csdl dùng jdbc trong java

  • 1. ANHMATTROI 1 Lớp kết nối CSDL dùng JDBC trong java - Code lớp kết nối package csdl; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JOptionPane; /** * * @author ANHMATTROI */ public class KetNoi { private Connection ket_noi; private String chuoi_ket_noi; private Driver driver; public KetNoi() { ket_noi = null; try { driver = new <lớp>(); DriverManager.registerDriver(driver); } catch (SQLException ex) { ex.printStackTrace(); } chuoi_ket_noi = "chuỗi kết nối"; } //mở kết nối public boolean Mo() { try { ket_noi = DriverManager.getConnection(chuoi_ket_noi); } catch(SQLException ex) { ex.printStackTrace(); return false; } return true; }
  • 2. ANHMATTROI 2 //hàm trả về một bảng dữ liệu từ câu lệnh truy vấn select ..... public ResultSet LayDL(String str) { ResultSet bang = null; try { Statement lenh = this.ket_noi.createStatement(); bang = lenh.executeQuery(str); } catch(SQLException ex) { ex.printStackTrace(); } return bang; } //cập nhật cơ sở dữ liệu như thêm - xóa - sửa: chạy các lệnh truy vấn //update, delete, insert .. public boolean CapNhat(String str) { try { Statement lenh = this.ket_noi.createStatement(); lenh.execute(str); } catch(SQLException ex) { ex.printStackTrace(); return false; } return true; } //đóng kết nối khi thoát ứng dụng public void DongKetNoi() { if(this.ket_noi != null) { try { this.ket_noi.close(); } catch (SQLException ex) { ex.printStackTrace(); } } } } - Lớp gồm có hàm khởi tạo, mở kết nối, hàm lấy dữ liệu, hàm cập nhật và hàm đóng kết nối khi thoát ứng dụng + Khai báo các thư viện
  • 3. ANHMATTROI 3 import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; + Hàm khởi tạo: đăng kí trình điều khiển cho ứng dụng để kết nối tới CSDL public KetNoi() { ket_noi = null; try { <đăng kí driver>; } catch (SQLException ex) { ex.printStackTrace(); } connection_string = <chuỗi kết nối tới csdl>; } Dùng phương thức Class.forName(“<gọi gói chứa trình điều khiển>”) hoặc dùng Driver driver = new <gói chứ trình điều khiển>(); DriverManager.registerDriver(driver); + Hàm mở kết nối: để kết nối tớ csdl bạn có thể dùng các phương thức sau: Connection ket_noi; ket_noi = DriverManager.getConnection(String url) ket_noi = DriverManager.getConnection(String url, Properties prop) ket_noi = DriverManager.getConnection(String url, String user, String password) public boolean Mo() { try { ket_noi = DriverManager.getConnection(chuoi_ket_noi); } catch(SQLException ex) { ex.printStackTrace(); return false;//lỗi kết nối } return true;//kết nối thành công }
  • 4. ANHMATTROI 4 + Hàm lấy dữ liệu của kết quả chạy câu lệnh truy vấn sql: tham số truyền vào là một lệnh truy ván sql và yêu cầu trả lại dữ liệu sau câu lệnh truy vấn đó, câu lệnh truy vấn truyền vào là khối lênh select. Ví dụ như: select * from SinhVien và thông tin của các sinh viên được trả về ở dạng bảng + Hàm cập nhật: tham số truyền vào là câu lệnh truy vấn sql, thường là của khối lệnh update, delete, insert, drop, alter, … và kết quả trả về ở dạng boolean để xem câu lệnh truy vấn có được cập nhật thành công hay không. Ví dụ như: delete from SinhVien masv = ‘sv12345’ + Hàm đóng kết nối: ngắt kết nối csdl khi thoát ứng dụng …. - Trước khi kết nối tới CSDL bạn phải đăng kí trình điều khiển trong ứng dụng của bạn.  Trong T-SQL : Hàm khởi tạo  Với jdk 1.6, 1.7: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); chuoi_ket_noi = "jdbc:odbc:Driver={SQL Server}; " + "Server=<tên server>; Database=<tên cơ sở dữ liệu>;" + UserName=<tên đăng nhập sql>; PassWord=<mật khẩu>"; Hoặc dùng: driver = new sun.jdbc.odbc.JdbcOdbcDriver(); DriverManager.registerDriver(driver);
  • 5. ANHMATTROI 5  . Với jdk 1.8: bạn tải sqljdbc_.jar, click chuột phải vào project chọn properties, click vào libraries chọn add/jar/folder rồi duyệt đến thư mục chứa file sqljdbc_.jar chọn nó và nhấn OK
  • 6. ANHMATTROI 6 Tiếp theo: click Window -> Services, click phải chuột vào Databases trong tab services và chọn new connection
  • 7. ANHMATTROI 7 Chọn new driver -> add duyệt tìm file sqljdbc.jar Chọn next
  • 8. ANHMATTROI 8 Lấy cổng kết nối T-SQL: mở sql server configuaration và chọn như hình dưới
  • 9. ANHMATTROI 9 Tiếp theo next -> next -> finish Sau các bước trên ta có được chuỗi kết nối Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); chuoi_ket_noi = " jdbc:sqlserver://BeBuSQLEXPRESS:1362; databaseName=QLSV;UserName=ANHMATTROI;PassWord=anhmattroi";
  • 10. ANHMATTROI 10 Hoặc dùng: driver = new com.microsoft.sqlserver.jdbc.SQLServerDriver(); DriverManager.registerDriver(driver); Hàm hoàn thiện: public KetNoi() { ket_noi = null; try { driver = new com.microsoft.sqlserver.jdbc.SQLServerDriver(); DriverManager.registerDriver(driver); } catch (SQLException ex) { ex.printStackTrace(); } chuoi_ket_noi = "jdbc:sqlserver://BeBuSQLEXPRESS:1362; databaseName=QLSV;UserName=ANHMATTROI; PassWord=anhmattroi"; } Hàm mở kết nối: khi đã đăng kí trình điều khiển ta tiên hành kết nối csdl public ResultSet LayDL(String str) { ResultSet bang = null; try { Statement lenh = this.ket_noi.createStatement(); bang = lenh.executeQuery(str); } catch(SQLException ex)
  • 11. ANHMATTROI 11 { ex.printStackTrace(); } return bang; } - Sau khi mở kết nối ta thực hiên các thao tác thêm – sửa – xóa trên csdl bằng hàm LayDL(String sql) và hàm CapNhat(String sql). + Duyệt dữ liệu dạng bảng trả về từ hàm LayDL(String sql) và hiện thị lên jtable KetNoi kn = new KetNoi(); kn.Mo(); ResultSet bang = kn.LayDL("select * from SinhVien"); boolean kq = bang.next(); String[] hang; DefaultTableModel model = (DefaultTableModel)jtable.getModel(); int i = 0; while(kq) { hang = new String[5]; hang[0] = bang.getString(1); hang[1] = bang.getString(2); hang[2] = bang.getString(3); hang[3] = bang.getString(4); hang[4] = bang.getString(5); i++; model.addRow(hang); kq = bang.next(); } bang.close(); - Một số hàm thường dùng khi làm việc với đối tượng JTable trong java JTable jtable; //chèn cột String[] ds_cot = new String[3] = {“Mã sinh viên”, “Tên”, “Quê quán”}; TableModel table_model = new DefaultTableModel(null, ds_cot); jtable.setModel(table_model); //toàn bộ số hàng hiện có jtabe.getRowCount(); //hiện thị đường kẻ ngang dọc của bảng jtabe.setShowGrid(true/false); //thay đổi ô chọn trong bảng
  • 12. ANHMATTROI 12 jtabe.changeSelection(<chỉ số hàng>, <chỉ số cột>, false, false); //nhận model dùng để thêm hàng mới vào jtable jtabe.getModel() //nhận chỉ số hàng khi click chuột vào jtable int i = jtabe.getSelectedRow(); //thêm một hàng vào jtable DefaultTableModel model = (DefaultTableModel) jtabe.getModel(); String[] hang = new String[3]; hang[0] = “sv12345”; hang[1] = “Sinh Viên”; hang[2] = “Lớp tin5a”; model.addRow(hang); //xóa một hàng tại chỉ số i với -1 < i < jtabe.getRowCount(); DefaultTableModel model = (DefaultTableModel) jtabe.getModel(); model.removeRow(i); //lấy giá trị của mỗi ô trong jtable String giatri; if(jtabe.getValueAt(<chỉ số hàng>, <chỉ số cột>) != null) giatri = jtabe.getValueAt(<chỉ số hàng>, <chỉ số cột>) //gán giá trị lên một ô của bảng jtable String giatri = “hi”; jtabe.setValueAt(giatri, <chỉ số hàng>, <chỉ số cột>); Link tải project ví dụ về thêm sửa xóa csdl T-SQL dùng JDBC trong java: tạo mộ csdl QLSV gồm có một bảng SinhVien chứa các cột: MaSV, HoTen, NgaySinh, GioiTinh, DiaChi http://www.mediafire.com/download/qv9d29we2bn8jfe/CSDL.rar