1. Trang chủ
  2. » Công Nghệ Thông Tin

Tạo lưới hiển thị và xử lý dữ liệu của các bảng dữ liệu trong Java

6 2 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 326,65 KB

Nội dung

Java, không giống như VB và C#, không có lưới hiển thị dữ liệu và bảng dữ liệu (RecordSet trong VB, C# và ResultSet trong Java). Vì vậy, người lập trình thường gặp khó khăn khi tạo các ứng dụng quản lý dữ liệu. Bài viết này giới thiệu một lớp Java do tác giả xây dựng có thể giúp giảm bớt những khó khăn này.

TẠO LƯỚI HIỂN THỊ VÀ XỬ LÝ DỮ LIỆU CỦA CÁC BẢNG DỮ LIỆU TRONG JAVA HÀ VIẾT HẢI Trường Đại học Sư phạm - Đại học Huế Tóm tắt: Java, khơng giống VB C#, khơng có lưới hiển thị liệu bảng liệu (RecordSet VB, C# ResultSet Java) Vì vậy, người lập trình thường gặp khó khăn tạo ứng dụng quản lý liệu Bài báo giới thiệu lớp Java tác giả xây dựng giúp giảm bớt khó khăn MỞ ĐẦU Java cơng nghệ lập trình mạnh mẽ sử dụng rộng rãi toàn giới Ngơn ngữ có khả đáp ứng nhu cầu để phát triển ứng dụng từ đơn giản đến phức tạp, ứng dụng chạy cục máy đơn ứng dụng mạng mức độ khác Về mặt truy cập sở liệu (CSDL), Java sử dụng cầu nối ODBC, JDBC dạng cục mạng mạnh để kết nối tới dạng CSDL khác phạm vi kết nối khác Tuy nhiên, để hiển thị liệu bảng liệu (Data Table), Java khơng có sẵn cơng cụ thuận tiện để hiển thị liệu dạng bảng Điều khác với VB, C#, sử dụng lớp lưới hiển thị liệu (Data Grid) chúng, ta dễ dàng đưa liệu bảng liệu hiển thị chúng giao diện đồ hoạ cách đơn giản dễ dàng Vì vậy, người lập trình thường gặp khó khăn cơng sức lập trình Java để hiển thị xử lý liệu lưới Bài báo nhằm giới thiệu lớp (class) Java có tên gọi ResultSetTable tác giả xây dựng để giảm bớt khó khăn Lớp sinh viên Tin học sử dụng rộng rãi việc tạo lập phần mềm quản trị CSDL ngôn ngữ Java MỘT VÍ DỤ SỬ DỤNG LỚP ResultSetTable Dưới ví dụ sử dụng lớp ResultSetTable Ứng dụng kết nối với CSDL NorthWind MicroSoft Office Người sử dụng chọn tên bảng liệu cần hiển thị combo box Select table, sau nhấn nút Display, liệu bảng chọn hiển thị trung tâm giao diện Đây ví dụ điển hình cho thấy cần thiết việc hiển thị liệu bảng liệu (chứa đối tượng kiểu ResultSet) Mã nguồn ví dụ giới thiệu phần Tạp chí Khoa học Giáo dục, Trường Đại học Sư phạm Huế ISSN 1859-1612, Số 03(03)/2007: tr 42-47 TẠO LƯỚI HIỂN THỊ VÀ XỬ LÝ DỮ LIỆU CỦA CÁC BẢNG DỮ LIỆU TRONG JAVA 43 Hình Giao diện ứng dụng sử dụng lớp ResultSetTable PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ LỚP ResultSetTable Các yêu cầu lưới hiển thị liệu  Khả hiển thị liệu bảng liệu Java (ResultSet) lưới  Khả hiển thị lưới liệu khung có trượt dọc  Một số tính khác để xử lý liệu lưới 3.1 Hiển thị liệu bảng liệu Java (ResultSet) lưới Đây yêu cầu quan trọng Java khơng có sẵn lớp thực trực tiếp điều Thông thường, bảng liệu hiển thị dạng lưới, với dòng chứa tên trường, dòng chứa liệu ghi Lớp gần Java để đáp ứng nhu cầu JTable Nó có khả hiển thị lưới, nhiên, liệu phải đưa vào dạng Vector (một lớp Java) phải dạng ResultSet Trong số cấu tử JTable, thích hợp cho việc hiển thị bảng liệu cấu tử có hai tham số, tham số thứ vector (một chiều) chứa tên trường liệu, tham số thứ hai vector (hai chiều) chứa liệu ghi Do vậy, ta lựa chọn phương án xây dựng lớp có chứa bảng dạng JTable Việc đưa liệu từ ResultSet vào bảng tiến hành qua hai bước Bước thứ nhất, đọc cấu trúc (tên trường liệu) liệu (các record) ResultSet nạp chúng vào vector (một chiều) chứa tên trường vector (hai chiều) chứa liệu Bước thứ hai, gọi cấu tử JTable với tham số hai vector bước để khởi tạo bảng hiển thị liệu có dịng tiêu đề chứa tên trường dòng nội dung chứa nội dung ghi 44 HÀ VIẾT HẢI Để lấy cấu trúc ResultSet nói chung tên trường đối tượng nói riêng, ta sử dụng phương thức getMetaData( ) nó, phương thức trả đối tượng dạng ResultSetMetaData Từ đối tượng nhận này, ta lấy thông tin cần thiết cấu trúc ResultSet số trường, tên trường Việc lấy liệu ghi từ ResultSet đơn giản nhờ sử dụng phương thức có sẵn lớp Để đưa liệu vào vector, ta việc đọc ghi nạp thêm vào vector cần tạo 3.2 Hiển thị lưới liệu khung có trượt dọc Yêu cầu cần thiết trường hợp liệu chứa nhiều dòng khơng thể hiển thị tồn lúc giao diện Lúc cần có trượt để người sử dụng duyệt tới phần liệu mà quan tâm Lớp Java đáp ứng yêu cầu gần JScrollPane Nó lớp chứa (container) có khả hiển thị JTable bên có trượt dọc biên để duyệt qua nội dung JTable cần thiết Do phương án chọn khởi tạo JSrcollPane với tham số JTable chứa bảng liệu yêu cầu 3.3 Một số yêu cầu bổ sung khác Để thuận tiện cho lập trình viên xử lý bảng liệu, thêm phương thức khác để đáp ứng cho nhu cầu thường gặp yêu cầu lưới liệu bổ sung dòng, xố dịng, chọn dịng MÃ NGUỒN LỚP ResultSetTable Phần giới thiệu phương thức cấu tử khởi tạo đối tượng lớp từ ResultSet Độc giả liên hệ với ban biên tập tác giả (theo địa HaVietHai@Google.com) muốn có mã nguồn chi tiết /** *

Title: ResultSetTable

*

Description: A class helping to create a Table displaying the contents of a resultset

*

Copyright: Copyright (c) 2003 - 2004

*

Company: Hue University

* @author Ha Viet Hai * @version 2.1 */ import javax.swing.*; import java.util.*; import java.sql.*; public class ResultSetTable{ private Vector vectorColNames; //vector contains field names private Vector vectorData; //vector contains all records private JTable jTableData; //table displays recordset private JScrollPane jScrollPaneTable; //scrollPane contains the table displaying recordset //constructor - create a ResultSetTable from a Resultset TẠO LƯỚI HIỂN THỊ VÀ XỬ LÝ DỮ LIỆU CỦA CÁC BẢNG DỮ LIỆU TRONG JAVA 45 public ResultSetTable(ResultSet rs) throws SQLException{ ResultSetMetaData rm = rs.getMetaData(); //determing the number of columns in each row of the resultset int numberCols = rm.getColumnCount(); //create the vector contains field names vectorColNames = new Vector(); for(int i=1; i

Ngày đăng: 08/05/2021, 18:03

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w