Viết Code thử nghiệm

Một phần của tài liệu Hệ thống Quản lý thông tin khách sạn Mường Thanh (Trang 40 - 43)

Phần này tỡm hiểu cỏch viết cỏc chức năng cơ bản của chương trỡnh như xem khỏch, sửa khỏch, xúa khỏch, thờm mới khỏch và tỡm kiếm.

Để làm cỏc thao tỏc trờn cần phải kết nối với cơ sở dữ liệu. Đối với cơ chế truy xuất thụng qua ODBC của Windows ta sử dụng trỡnh điều khiển miễn phớ do Sun cung cấp mang tờn

JdbcOdbcDriver. Khai bỏo tờn lớp này như sau:

String drivername = “sun.jdbc.odbc.JdbcOdbcDriver”;

Tiếp đến gọi phương thức tĩnh forName của lớp Class để nạp và khởi tạo trỡnh điều khiển: Class.forName (drivername).newInstance();

Kể từ lỳc này ta đĩ hồn tồn cú khả năng sử dụng trỡnh điều khiển JDBC-ODBC để truy xuất dữ liệu. Trỡnh điều khiển ODBC cần biết thờm những thụng tin cụ thể như tài khoản đăng nhập, địa chỉ mỏy chủ nơi chứa cơ sở dữ liệu… Những thụng tin này đĩ được thiết lập trước đú khi cấu hỡnh cho chuỗi kết nụi của chương trỡnh là hotel bằng ODBC Driver của Windows. Ta đặt thụng tin này trong chuỗi kết nối như sau:

String connectionURL = “jdbc:odbc:hotel”;

String username = “sa”; (username để mở cơ sở dữ liệu) String password = “ ”;

Ở đõy chuỗi jdbc:odbc là bắt buộc đối với trỡnh điều khiển JDBC – ODBC. Cuối cựng đối tượng Connection sẽ thể hiện kết nối đến cơ sở dữ liệu. Ta gọi phương thức getConnection của

lớp DriverManager để yờu cầu trỡnh điều khiển nạp bởi Class.forName() trước đõy tiếp nhận và thực thi kết nối.

// Đối tượng kết nối JDBC Connection con = null; // Tạo kết nối

con = DriverManager.getConnection (connectionURL, username, password);

Bước tiếp theo quan trọng là trớch rỳt được cơ sở dữ liệu của bảng khach chứa trong cơ sở dữ liệu. Ta định nghĩa cõu truy vấn như sau:

String sqlQuery = “SELECT * FROM KHACH”;

Cõu lệnh truy vấn này sẽ chọn tất cả dữ liệu của cỏc cột cú trong bảng khach.

Để yờu cầu JDBC truy vấn dữ liệu ta phải dựa vào đối tượng Statement. Đối tượng này được dựng để thực thi mọi cõu lệnh SQL:

Statement stmt = null; ResultSet rs = null;

stmt = con.createStatement(); rs = stmt.executeQuery(sqlQuery);

Sau khi nhận được kết quả trả về là tập ResultSet, ta gọi phương thức next() để đi tới từng mẩu tin và in ra kết quả của cỏc cột.

Sau khi trang xem khỏch đĩ hồn thành, ta tiến tới viết cỏc chức năng như thờm, xúa, sửa, tỡm kiếm khỏch hồn tồn dễ dàng.

Cỏch tỡm kiếm dữ liệu: đõy là một số đoạn mĩ chớnh: string sWhere=””;

// tỡm theo họ

String pho=getParam(request,"ho"); pho=replace(pho, "'", "''");

sWhere += " khach.ho like '%" + pho + "%'";

//Tỡm theo quốc tịch

String pmaqt = getParam( request, "maqt");

if (!pmaqt.equals("")) sWhere += " AND khach.maqt=" + pmaqt;

//Tỡm theo tờn

String pten=getParam(request,"ten"); pten=replace(pten, "'", "''");

sWhere += " AND khach.ten like '%" + pten + "%'";

// Tạo truy vấn để tỡm khỏch (adsbygoogle = window.adsbygoogle || []).push({});

String sSQL="SELECT khach.mskhach, khach.soCMND, khach.ho, khach.ten, khach.diachi, khach.dienthoai, khach.didong, khach.email, khach.phai, tennuoc as tenqt FROM khach, quoctich WHERE khach.maqt=quoctich.maqt AND"+sWhere;

Cỏch tạo truy vấn xúa:

qlksmskhach=getParam(request, "mskhach");

sSQL ="DELETE khach WHERE mskhach="+qlksmskhach;

Một phần của tài liệu Hệ thống Quản lý thông tin khách sạn Mường Thanh (Trang 40 - 43)