TỔNG QUAN:

Một phần của tài liệu luận văn công nghệ thông tin xây dựng chương trình quản lý đăng ký và xét tuyển nguyện vọng vào lớ (Trang 33)

VB.NET là một phần của .NET Framework [cơ cấu .NET], một nền tảng điện tốn mới đơn giản hĩa và hiện đại hĩa tiến trình phát triển và triển khai ứng dụng trên Windows.

.NET Framework bao gồm nhiều thứ, nhưng sau đây là các khía cạnh quan trọng của nĩ:

o Một nền tảng được thiết kế từ đầu để viết các ứng dụng biết Internet và cĩ khả năng Internet bao hàm và chấp nhận các chuẩn mở như XML, HTTP và SOAP.

o Một nền tảng cung cấp một số cơng nghệ phát triển ứng dụng mạnh và rất phong phú, như Windows Forms, dùng để xây dựng các ứng dụng GUI cổ điển.

o Một nền tảng cĩ một thư viện lớp bao quát cung cấp phần hỗ trợ mạnh để truy cập dữ liệu (quan hệ và XML), các dịch vụ thư mục, lập hàng đợi thơng điệp v.v…

o Một nền tảng cĩ một thư viện lớp cơ sở chứa hàng trăm lớp để thực hiện các cơng việc chung như điều tác tập tin, truy cập sổ đăng ký, bảo mật, lập sâu (threading), tìm kiếm văn bản bằng các biểu thức bình thường.

o Một nền tảng tập trung lập ngơn ngữ khiến tất cả ngơn ngữ trở thành các cơng dân hàng đầu. Người lập trình cĩ thể dùng ngơn ngữ mà cĩ thể thấy thuần thục và đạt năng xuất cao và khơng đối mặt với bất kỳ giới hạn nào.

o Một nền tảng khơng quên cội nguồn của nĩ, và cĩ phần hỗ trợ khả năng tương hoạt tuyệt vời cho các thành phần hiện cĩ dùng COM hoặc các DLL chuẩn.

o Một nền tảng cĩ một luồng thi hành mã độc lập và mơi trừơng quản lý cĩ tên Common Language Runtime (CLR), bảo đảm mã an tồn

khi chạy, cung cấp một tầng trừu tượng trên đầu hệ điều hành, nghĩa là các thành phần của .NET Framework cĩ thể chạy trên nhiều hệ điều hành và nhiều thiết bị.

.NET Flatform

II. .NET FRAMEWORK :

.NET Framework .N E T F ra m e w o rk Các cơng nghệ phát triển ứng dụng

(Web Services, WinForms, v.v…)

Các thư viện lớp

Các thư viện lớp cơ sở

.NET Framework bao gồm bốn mẩu chính:

o Các cơng nghệ phát triển ứng dụng.

o Các thư viện lớp.

o Các thư viện lớp cơ sở.

o Common Language Runtime (CLR).

Các mẩu này nằm trên đầu nhau, với mỗi tầng cao hơn sẽ vận dụng một hoặc nhiều tầng thấp hơn.

1. Các cơng nghệ phát triển ứng dụng:

 Web services

Web services là các thành phần logic kinh doanh cĩ thể lập trình, được dùng như “các hộp đen” để cung cấp khả năng truy cập cơng năng thơng qua Internet dùng các giao thức chuẩn chẳng hạn như HTTP.

 WinForms

WinForms là một thư viện lớp bao quát đưa ra cơng năng của Windows Common Controls dùng các khả năng hướng đối tượng diễn cảm của .NET Framework.

2. Các thư viện lớp:

.NET Framework cĩ một loạt các thư viện lớp. Nĩ bao gồm các lớp cho :  Data Access – Các lớp truy cập dữ liệu khả năng vận hành cao

để nối với SQL Server hoặc với bất kỳ trình cung cấp OLEDB nào khác.

 XML Support – Phần hỗ trợ XML thế hệ kế tiếp vượt xa cơng năng MSXML.

 Directory Services – Hỗ trợ để truy cập Active Directory/ LDAP dùng ADSI.

 Regular Expression – Hỗ trợ trên và vượt quá tính năng cĩ trong Perl 5.

 Queuing Support – Cung cấp một loạt các lớp hướng đối tượng sạch để làm việc với MSXML.

Các thư viện lớp này dùng các thư viện lớp cơ sở CLR cho cơng năng chung.

3. Các thư viện lớp cơ sở:

Thư viện lớp cơ sở trong .NET Framework rất lớn. Chúng bao gồm các lĩnh vực như:

 Collection – Khơng gian tên System.Collection cung cấp vơ số các lớp sưu tập.

 Thread Support – Khơng gian tên System.Threading cung cấp phần hỗ trợ để tạo các ứng dụng đa xâu, hiệu quả, nhanh.

 Code Generation – Khơng gian tên System.CodeDOM cung cấp các lớp để phát sinh các tập tin nguồn bằng nhiều ngơn ngữ.

 IO – Khơng gian tên System.IO cung cấp phần hỗ trợ để làm việc với các tập tinh và tất cả các kiểu luồng khác.

 Reflection – Khơng gian tên System.IO cung cấp phần hỗ trợ để nạp các tập hợp, xem xét các kiểu bên trong tập hợp, tạo các minh dụ của các kiểu.

 Security – Khơng gian tên System.IO cung cấp phần hỗ trợ cho các dịch vụ như thẩm định quyền, quyền hạn, các loạt giấy phép, các nội quy, và mật mã.sss

4. Common Language Runtime:

Vài ngơn ngữ cĩ thể yêu cầu các kiểu mà ngơn ngữ khác khơng hỗ trợ. Để giải quyết vấn đề này, CLR cĩ các kiểu bổ sung hỗ trợ cơng năng cần thiết cho các ngơn ngữ cụ thể như C#. Tuy nhiên việc chia sẻ các lớp CLR mà các ngơn ngữ khác tạo ra nĩ là cĩ khả năng một lớp sẽ khơng dùng được trong một số ngơn ngữ nếu kiểu của nĩ khơng được hiểu rõ.

Mọi kiểu trong CLR là một đối tượng. Do mọi kiểu đều cĩ một cơ sở chung (System.Object), nên các nhà phát triển cĩ thể viết vài mã chung rất mạnh.

Chương II : GIỚI THIỆU ADO.NET

I. GIỚI THIỆU ADO.NET :

Trong 3 phiên bản trước của Visual Basic, trước khi các đối tượng truy cập dữ liệu ra đời, cơng nghệ DAO (Data Access Objects) cùng với Visual Basic 3.0, cho phép nhà lập trình truy cập cơ sở dữ liệu cục bộ trên định dạng JDE (Jet Database Engine)

Với DAO (Data Access Objects), ta cũng cĩ thể truy cập dữ liệu trên trình chủ (Server), nhưng khơng tối ưu và tốc độ chậm, vì dao vẫn sử dụng để truy cập cơ sở dữ liệu cục bộ

Tiếp theo sau DAO, cơng nghệ truy cập cơ sở dữ liệu bằng đối tượng RDO và ADO ra đời. Như trình bày ở trên, cơng nghệ này sử dụng để truy cập cơ sở dữ liệu Client / Server (trình chủ và trình khách), cho phép truy cập dữ liệu với mơ hình đa lớp (n-Tier)

Thành phần ADO.NET, được thiết kế nhằm tăng tốc độ truy cập và thao tác dữ liệu trong mơi trường đa lớp (n-Tier). Hai thành phần chính của ADO.NET là đối tượng DataSet và NET Provider.

NET Provider là 1 tập các đối tượng trong thành phần. NET bao gồm Connection (Kết nối cơ sở dữ liệu), Command (Lệnh thi hành), DataReader (BỘ đọc dữ liệu), và DataAdapter (Kết nối và điều phối dữ liệu).

Bạn cĩ thể tham khảo chi tiết từng đối tượng trong các chương kế tiếp liên quan đến Visual Basic.NET và cơ sở dữ liệu.

II. SO SÁNH ADO VAØ ADO.NET :

Nếu đã từng làm quen với Visual Basic hay Active Server Page, thì đối tượng ADO rất quen thuộc trong quá trình truy cập và sử lí dữ liệu như SQL Server hay Ms.Access, một trong những đặc điểm chính của ADO là đối tượng Recordset.

ADO Recordset rất uyển chuyển để cho phép ứng dũng điều hướng giữa các mẩu tin và ứng dụng bộ lọc cùng với đánh dấu điểm tham chiếu mẩu tin rất dễ dàng.

Ngồi ra, ADO Recordset cũng hỗ trợ các chức năng sắp xếp và phân trang tự động, nhằm tạo cho ứng dụng thân thiện và mang tính ứng dụng thực tiễn cao.

ADO Recordset cịn sắp xếp dữ liệu một cách hiệu qủa thơng qua nhiều lớp và ngay cả trong mơi trường COM bởi vì định dạng cĩ tính tự nhiên và cơ đọng

ADO khơng thể sử dụng trên nhiều platform khác như Unix hay Linux chẳng hạn, chúng chỉ sử dụng trong mơi trường Windows hay COM, với mơi trường này ADO thể hiện được tính năng hiệu qủa của nĩ

Nếu làm việc trên Visual Basic hay ASP, đối tượng ADO là một phần cơng việc khá thú vị trong qúa trình truy cập cơ sở dữ liệu Ms.Access hay SQL Server. Với phiên bản Visual Basic.NET ra đời, ADO.NET là một khám phá cần phải thamkhảo và sử dụng cùng với những ngơn ngữ va Server Script như ASP.NET.

2. ADO.NET vượt xa hơn nữa :

Trung tâm của đối tượng ADO.NET là đối tượng DataSet, DataSet là kế vị của đối tượng RecordSe của ADO, với đối tượng này, chương trình lưu trữ tập dữ liệu thường trú trong bộ nhớ và trình bày chúng khi người dùng gọi đến.

Đối tượng DataSet cĩ thể mơ phỏng dữ liệu một cách hợp lí hay trừu tượng, khác với RecordSet, DataSet khơng những là một container để chứa đựng và kiểm sốt tồn bộ mẩu tin mà cịn dữ nhiều bảng dữ liệu và các quan hệ giữa chúng.

3. Ràng buộc (Constraint), quan hệ (Relationship) :

Khơng giống như ADO, ADO.NET khơng chỉ kết nối dữ liệu từ haibảng Products và Cateogories và trả về dữ liệu như ví dụ trên mà ta cĩ thể kết nối dữ liệu cùng với các ràng buộc và quan hệ cuả chúng sau khi lưu vào bộ nhớ.

Ở ví dụ trên, dữ liệu được kiết xuất từ đối tượng ADO.NET. Trước tiên kết nối cơ sở dữ liệu và truy vấn dữ liệu từ cơ sở dữ liệu quan hệ, các bảng dữ liệu được thay thế bởi đối tượng DataSet, sẽ lưu trữ trong bộ nhớ bằng cách sử dụng đối tượng DataSetCommand.

DataSetCommand định rõ những bảng dữ liệu nào quan tâm, sau khi DataSet kết xuất dữ liệu xong bạn đĩng kết nối, sau đĩ xây dựng một quan hệ cho chúng trong DataSet đối với những bảng dữ liệu vừa chỉ rõ trong DataSetCommand, bằng cách này bạn tự ràng buộc và tạo quan hệ dữ liệu ngay trong đối tượng DataSet, sau đĩ cĩ thể gửi dữ liệu đến các ứng dụng hay tập tin văn bản dạng XML, hay bất kì một ứng dụng trình cách khác.

Bởi vì tập dữ liệu cĩ thể được xây dựng từ XML, cho nên chúng ta cĩ thể xây dựng một tập dữ liệu ứng dụng Windows hay ứng dụng Web- based.NET. Ngồi ra bạn cũng cĩ thể làm việc trên EDI (Electronic Data Interchange) bằng cách truyền tập tin XML thơng qua dịch vụ Web.

Như bạn biết, những ứng dụng client/server trước đây, khơng sử dụng cơng cụ.NET, thay vì sử dụng mơ hình n-tier dừa trên mỗi nhiệm vụ hồn thành cuả từng tier (tầng).

Trong Windows Forms bạn cĩ thể truyền một tập tin XML, vào ứng dụng của bạn một cách dễ dàng, bởi vì dữ liệu XML với giản đồ mơ tả đầy đủ nội dung chính, vì vậy bạn cĩ thể xây dựng một dữ liệu ngay trong ứng dụng của bạn từ XML.

sau đĩ người dùng cĩ thể kích hoạt hay thao tác trên ứng dụng của bạn, nếu người dùng muốn cập nhật dữ liệu (DataSource) đối tượng DataSet được xây dựng từ tập tin XML sẽ trả về cho tầng Business thơng qua Intranet hay Internet.

Sự khác nhau lớn nhất giữa ADO RecordSet và ADO.NET RecordSet là DataSet ngắt kết nối từ nguồn dữ liệu. Để sử dụng DataSet bạn kết nối nguồn dữ liệu, tiếp đến thực hiện truy vấn một hay nhiêù bảng, sau đĩ ngắt kết nối.

DataSet chứa đựng tịan bộ dữ liệu và cho phép cuộn, kích hoạt, thao tác dữ liệu DataSet, sau khi người dùng kết thúc thao tác dữ liệu trên DataSet, đối tượng này sẽ kết nối trở lại nguồn dữ liệu và thực hiện quá trình cập nhật vào nguồn dữ liệu.

Mặt khác dữ liệu logic và giao diện người dùng hồn tồn tách biệt nhau, trong hình trên, một tầng dữ liệu Data Tier, tầng Business Tier và tầng hiện thực Presentation Tier, các tầng này đều tách biệt, điều này cho phép hàng ngàn người dùng truy cập và xử lí trên từng tầng của ứng dụng.

4. So sánh ADO và ADO.NET :

Một sự khác biệt thứ hai xuất phát từ đối tượng Connection trong ADO và ADO.NET. Trong Connection của ADO.NET, khơng cĩ thuộc tính CursorLocation. Trong ADO.NET khơng cĩ khái niệm Cursor, thay vào đĩ đối tượng DataSet được xem như một con trỏ tĩnh và đối tượng DataReader như một con trỏ ADO chỉ đọc.

Trong thực tế ADO.NET khơng hỗ trợ Cursor trên phía Server, đĩ là một ngoaị lệ. Tuy nhiên đối tượng DataReader sử dụng để đọc từng mẩu tin, nhưng để sử lý trên Server thì ADO vẫn cịn khả dụng.

Một ứng dụng cĩ thể thiết lập một tập kết qủa ngay trong quản trị xử lý ứng dụng (Client side) hay trên nguồn dữ liệu phía máy chủ (Server Side)

Cursor trên Client side được hỗ trợ bởi đối tượng Dataset của ADO.NET, với con trỏ này cho phép bạn qủan lý dữ liệu như cuộn và cập nhật. Client side cursor là một chọn lựa tốt cho giap tiếp giữa người dùng và dữ liệu

Server side cursor được hỗ trợ bởi đối tượng DataReader của ADO.NET, đối với lọai cursor này bạn nên sử dụng một cách cẩn thận, bạn khơng thể sử dụng cuộn hay cập nhật dữ liệu trên Server side cursor, tuy nhiên để làm điều

này bạn cần phải sử dụng Stored Procedure để thực hiện các thao tác trên Server.

Đặc điểm ADO ADO.NET

Sử dụng đối tượng Dataset cĩ thể bao hàm một hay nhiều bảng hiện thực bởi đối tượng DataTable.

Hỗ trợ đối tượng DataRelation để kết nối nhiều mẩu tin trong đối tượng DataTable này với đối tượng DataTable khác.

Cho pháp duyệt khơng tuần tự nhiều mẩu tin trên bảng dữ liệu, cho phép định hướng một số mẩu tin trên bảng này và một số mẩu tin trên bảng khác.

Để kết nối cơ sở dữ liệu Visual Basic.NET sử dụng đối tượng Dataset Command. Sử dụng đặc tính của XML, tự mơ tả dữ liệu, đọc và ghi dữ liệu dễ dàng. Dữ liệu thường trú trong bộ nhớ. Quan hệ (Relationship) giữa hai hay nhiều bảng.

Truy cập dữ liệu. Ngắt kết nối. Lập trình. Sử dụng đối tượng Recordset giống nhưmột bảng dữ liệu.

Kết nối dữ liệu giữa các bảng bằng phát biểu Join và kết qủa trả về một bảng dữ liệu.

Duyệt mẩu tin tuần tự trên Recordset.

Đối tượng Recordset hỗ trợ bởi đối tượng

Connection gọi OLE DB Provider để kết nối với cơ sở dữ liệu.

Sử dụng đối tượng Connection để thực hiện chuyển giao câu lệnh.

III. CÁC ĐỐI TƯỢNG CỦA ADO.NET

Các lớp .NET Chia sẻ dữ liệu giữa

các tầng hay thành phần sau khi ngắt kết nối.

Chuyển giao dữ liệu qua Firewall.

Hiệu lực.

Dùng Com để sắp xếp và chuyển giao dữ liệu(Com chuẩn).

Firewall là cấu hình ngăn ngừa yêu cầu của người dùng ở mức hệ thống như đối tượng Com hay

Banary.

Cơ sở dữ liệu khĩa, cơ sở dữ liệu hiệu lực kết nối trong thời gian dài.

Chuyển giao Dataset với tập tin XML.

Cĩ vấn đề trở ngại, vì đối tượng Dataset của ADO.NET sử dụng tập tin dạng văn bản XML cĩ thể truyền qua Firewall. Ngắt kết nối cơ sở dữ liệu.

1. Đối tượng DataSet :

Đối tượng Dataset là một đối tượng của ADO.NET, cung cấp cách thơng thường nhất để trình bày và thao tác dữ liệu. Điều quan trọng là ở đây bạn khơng nên nghĩ đối tượng này như một cơ sở dữ liệu mà chúng là một đối tượng nhắm bắt dữ liệu từ bất kì một nguồn dữ liệu khác.

Bạn khơng chỉ sử dụng đối tượng Dataset để truy vấn dữ liệu mà cịn di chuyển dữ liệu bất kì thời điểm nào, sau đĩ gửi dữ liệu thơng qua XML.

Tập dữ liệu được địng dạng XML, và cũng cĩ thể một đối tượng nhị phân, và cĩ thể đọc hay ghi XML, trong thực tế là XML.

Trong trường hợp phân phối dữ liệu trên mạng, vì bạn cĩ khái niệm trình bày dữ liệu bằng XML, module Target sẽ nhận XML và sử dụng chúng như cách tốt nhất để biểu diễn khối dữ liệu, tham khảo hình sau đây, dễ dàng nhận thấy sự kết hợp giữa ADO.NET và XML trên .NET Framework.

ADO.NET và XML trong .NET Framework Microsoft.NET Framework

Web Service User Interface

Data và XML ADO.NET

Case Classes

Common Language runtime

Đối tượng Dataset trong ADO.NET, được định nghĩa trong khơng gian tên System.Data, khơng gian tin này chứa đựng các lớp và phương thức với mục đích thao tác dữ liệu trong đối tượng Dataset, trong khơng gian tên System.Data bao gồm các đối tượng:

Bảng đối tượng của khơng gian tên System.Data

2. Đối tượng DataTable :

Để ADO.NET làm việc trên cơ sở dữ liệu, bạn cần phải sử dụng một số đối tượng khác, trong đĩ cĩ DataTable, để thêm một đối tượng DataTable từ nguồn dữ liệu như MS SQL Server 2000 chẳng hạn, hay một DataTable đối tượng DataSet, bạn cần tham khảo một số thơng tin của đối tượng này trong bảng:

Đối tượng Diễn giải

DataSet Datatable

DataRow

Bộ nhớ chứa đựng dữ liệu.

Dùng để truy vấn dữ liệu từ đối tượng

TablesCollection cùng với đối tượng Datatable và DataSet.

Dùng để truy vấn mẩu tin từ đối tượng

RowsCollection cùng với đối tượng dataRow và DataTable.

Thuộc tính Diễn giải

Columns

Rows

ParentRelation

Constraints PrimaryKey

Truy cập dữ liệu từ cột như tập hợp dữ liệu, trả về DataColumnCollection .

Truy mẩu tin trong đối tượng DataTable trả về

Một phần của tài liệu luận văn công nghệ thông tin xây dựng chương trình quản lý đăng ký và xét tuyển nguyện vọng vào lớ (Trang 33)