1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về ngôn ngữ lập trình VB.NET

185 1K 2

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 185
Dung lượng 1,34 MB

Nội dung

Ngôn ngữ BASIC (Beginner’s All Purpose Symbolic Instruction Code) đã có từ năm 1964. BASIC rất dễ học và dễ dùng. Trong vòng 15 năm đầu, có rất nhiều chuyên gia Tin Học và công ty tạo các chương trình thông dịch (Interpreters) và biên dịch (Compilers) cho ngôn ngữ làm BASIC trở nên rất phổ thông. Năm 1975, Microsft tung ra thị trường sản phẩm đầu tay Microsoft BASIC và tiếp đó Quick BASIC (còn gọi là QBASIC) thành công rực rỡ. Quick BASIC phát triển trong nền Windows nhưng vẫn khó khăn khi tạo giao diện kiểu Windows. Sau đó nhiều năm, Microsoft bắt đầu tung ra 1 sản phẩm mới cho phép ta kết hợp ngôn ngữ dễ học BASIC và môi trường phát triển lập trình với giao diện bằng hình ảnh (Graphic User Interface GUI) trong Windows. Đó là Visual Basic Version 1.0 Trước khi ra đời ngôn ngữ này ta không có 1 giao diện bằng hình ảnh (GUI) với một IDE (Integrated Development Environment) giúp các chuyên gia lập trình tập trung công sức và thì gìờ vào các khó khăn liên hệ đến doanh nghiệp của mình. Mỗi người phải tự thiết kế giao diện qua thư viện có sẵn Windows API (Application Programming Interface) trong nền Windows. Điều này tạo ra những trở ngại không cần thiết làm phức tạp việc lập trình. Visual Basic giúp ta bỏ qua những hệ lụy đó, chuyên gia lập trình có thể tự vẽ cho mình giao diện cần thiết trong ứng dụng (application) 1 cách dễ dàng và như vậy, tập trung nổ lực giải đáp các vần đề cần giải quyết trong doanh nghiệp hay kỹ thuật. Ngoài ra, còn nhiều công ty phụ phát triển thêm các khuôn mẫu (modules), công cụ (tools, controls) hay ứng dụng (application) phụ giúp dưới hình thức VBX cộng thêm vào giao diện chính càng lúc càng thêm phong phú. Phiên bản 6.0 cung ứng 1 phương pháp mới nối với Cơ Sở Dữ Liệu (Database) qua sự kết hợp của ADO (Active Data Object). ADO còn giúp các chuyên gia phát triển mạng nối với Cơ Sở Dữ Liệu (Database) khi dùng Active Server Pages (ASP). Bộ Microsoft Visual Studio.NET (đến nay đã phát hành Visual Studio.NET 2008) bao gồm vừa mọi công cụ yểm trợ lập trình và ngôn ngữ lập trình .NET, tỷ như: Visual Basic.NET (VB.NET), C (C Sharp), Visual C++.NET và Visual J.NET và hỗ trợ .NET Framework 3.0. Một trong những công cụ quan trọng là Microsoft Visual Studio.NET Integrated Development Environment (IDE). IDE giúp ta lập trình Visual Basic.NET (VB.NET) dễ dàng, thoải mái và thích thú. IDE không những cung cấp mọi công cụ lập trình cần thiết không thể tìm thấy ở một ứng dụng (application) soạn nguồn mã thông thường bằng chữ (text editors) mà còn giúp kiểm tra nguồn mã (code checking) hay tạo giao diện Windows thích hợp và hiển thị, truy tìm các tập tin liên hệ đến dự án (project) và nhiều thứ khác nữa. Tuy nhiên, VB phiên bản 6.0 (VB6) không cung ứng tất cả các đặc trưng của kiểu mẫu ngôn ngữ lập trình khuynh hướng đối tượng (Object Oriented Language OOL) như các ngôn ngữ C++, Java. Thay vì cải thiện hay vá víu thêm thắc vào VB phiên bản 6.0, Microsoft đã xoá bỏ tất cả làm lại từ đầu các ngôn ngữ lập trình mới theo kiểu OOL rất hùng mạnh cho khuôn nền .NET Framework. Đó là các ngôn ngữ lập trình Visual Basic.NET và C (gọi là C Sharp). Sau đó, nhiều ngôn ngữ lập trình khác cũng thay đổi theo tỷ như smalltalk.NET, COBOL.NET, … làm Công Nghệ Tin Học trở nên phong phú hơn, đa dạng hơn.

Trang 1

cả là việc học VB.NET dễ dàng hơn

 VB.NET được chọn là ngôn ngữ lập trình cho các trang ASP.NET

 Nếu bạn thích, bạn có thể dùng C# hay C++ thay vì VB.NET cho mọi bài tập trong khóa, sự chuyển đổi qua lại giữa các ngôn ngữ lập trình là điều có thế vì sựkhác biệt phần lớn là về cú pháp (syntax) chứ không khác nguyên tắc và cấu trúclập trình

 Thật sự, đây là ngôn ngữ lập trình mới và rất lợi hại, không những lập nền tảng vững chắc theo kiểu mẫu đối tượng như các ngôn ngữ lập trình hùng mạnh khác

đã vang danh C++, Java mà còn dễ học, dễ phát triển và còn tạo mọi cơ hội hoàn hảo để giúp ta giải đáp những vấn đề khúc mắc khi lập trình

Trang 2

CHƯƠNG I: GIỚI THIỆU CHUNG VỀ VB.NET

I.1 Sơ lược về lịch sử của VB.NET

Ngôn ngữ BASIC (Beginner’s All Purpose Symbolic Instruction Code) đã có từ năm

1964 BASIC rất dễ học và dễ dùng Trong vòng 15 năm đầu, có rất nhiều chuyên gia Tin Học và công ty tạo các chương trình thông dịch (Interpreters) và biên dịch

(Compilers) cho ngôn ngữ làm BASIC trở nên rất phổ thông

Năm 1975, Microsft tung ra thị trường sản phẩm đầu tay Microsoft BASIC và tiếp đó Quick BASIC (còn gọi là QBASIC) thành công rực rỡ

Quick BASIC phát triển trong nền Windows nhưng vẫn khó khăn khi tạo giao diện kiểu Windows Sau đó nhiều năm, Microsoft bắt đầu tung ra 1 sản phẩm mới cho phép ta kết hợp ngôn ngữ dễ học BASIC và môi trường phát triển lập trình với giao diện bằng hình ảnh (Graphic User Interface - GUI) trong Windows Đó là Visual Basic Version 1.0Trước khi ra đời ngôn ngữ này ta không có 1 giao diện bằng hình ảnh (GUI) với một IDE (Integrated Development Environment) giúp các chuyên gia lập trình tập trung côngsức và thì gìờ vào các khó khăn liên hệ đến doanh nghiệp của mình Mỗi người phải tự thiết kế giao diện qua thư viện có sẵn Windows API (Application Programming

Interface) trong nền Windows Điều này tạo ra những trở ngại không cần thiết làm phức tạp việc lập trình

Visual Basic giúp ta bỏ qua những hệ lụy đó, chuyên gia lập trình có thể tự vẽ cho mình giao diện cần thiết trong ứng dụng (application) 1 cách dễ dàng và như vậy, tập trung nổ lực giải đáp các vần đề cần giải quyết trong doanh nghiệp hay kỹ thuật

Ngoài ra, còn nhiều công ty phụ phát triển thêm các khuôn mẫu (modules), công cụ (tools, controls) hay ứng dụng (application) phụ giúp dưới hình thức VBX cộng thêm vào giao diện chính càng lúc càng thêm phong phú

Trang 3

Phiên bản 6.0 cung ứng 1 phương pháp mới nối với Cơ Sở Dữ Liệu (Database) qua sự kết hợp của ADO (Active Data Object) ADO còn giúp các chuyên gia phát triển mạng nối với Cơ Sở Dữ Liệu (Database) khi dùng Active Server Pages (ASP).

Bộ Microsoft Visual Studio.NET (đến nay đã phát hành Visual Studio.NET 2008) bao gồm vừa mọi công cụ yểm trợ lập trình và ngôn ngữ lập trình NET, tỷ như: Visual Basic.NET (VB.NET), C# (C Sharp), Visual C++.NET và Visual J#.NET và hỗ

trợ NET Framework 3.0

Một trong những công cụ quan trọng là Microsoft Visual Studio.NET Integrated

Development Environment (IDE) IDE giúp ta lập trình Visual Basic.NET (VB.NET) dễdàng, thoải mái và thích thú IDE không những cung cấp mọi công cụ lập trình cần thiết không thể tìm thấy ở một ứng dụng (application) soạn nguồn mã thông thường bằng chữ(text editors) mà còn giúp kiểm tra nguồn mã (code checking) hay tạo giao diện

Windows thích hợp và hiển thị, truy tìm các tập tin liên hệ đến dự án (project) và nhiều thứ khác nữa

Tuy nhiên, VB phiên bản 6.0 (VB6) không cung ứng tất cả các đặc trưng của kiểu mẫu ngôn ngữ lập trình khuynh hướng đối tượng (Object Oriented Language - OOL) như cácngôn ngữ C++, Java

Thay vì cải thiện hay vá víu thêm thắc vào VB phiên bản 6.0, Microsoft đã xoá bỏ tất cả làm lại từ đầu các ngôn ngữ lập trình mới theo kiểu OOL rất hùng mạnh cho khuôn nền NET Framework Đó là các ngôn ngữ lập trình Visual Basic.NET và C# (gọi là C Sharp) Sau đó, nhiều ngôn ngữ lập trình khác cũng thay đổi theo tỷ như smalltalk.NET, COBOL.NET, … làm Công Nghệ Tin Học trở nên phong phú hơn, đa dạng hơn

I.2 Sơ lược về Visual Basic.NET

Visual Basic.NET (VB.NET) là ngôn ngữ lập trình khuynh hướng đối tượng (Object Oriented Programming Language) do Microsoft thiết kế lại từ con số không Visual Basic.NET (VB.NET) không kế thừa VB6 hay bổ sung, phát triển từ VB6 mà là một

Trang 4

ngôn ngữ lập trình hoàn toàn mới trên nền Microsoft ’s NET Framework Do đó, nó cũng không phải là VB phiên bản 7 Thật sự, đây là ngôn ngữ lập trình mới và rất lợi hại, không những lập nền tảng vững chắc theo kiểu mẫu đối tượng như các ngôn ngữ lậptrình hùng mạnh khác đã vang danh C++, Java mà còn dễ học, dễ phát triển và còn tạo mọi cơ hội hoàn hảo để giúp ta giải đáp những vấn đề khúc mắc khi lập trình Hơn nữa,

dù không khó khăn gì khi cần tham khảo, học hỏi hay đào sâu những gì xảy ra bên trong

… hậu trường OS, Visual Basic.NET (VB.NET) giúp ta đối phó với các phức tạp khi lậptrình trên nền Windows và do đó, ta chỉ tập trung công sức vào các vấn đề liên quan đến

dự án, công việc hay doanh nghiệp mà thôi

I.3 Sơ lược về NET

.NET là tầng trung gian giữa các ứng dụng (applications) và hệ điều hành (OS)

Tầng NET cung cấp mọi dịch vụ cơ bản giúp ta tạo các công dụng mà ứng dụng

(application) đòi hỏi, giống như hệ điều hành cung cấp các dịch vụ cơ bản cho ứng dụng(application), tỷ như: đọc hay viết các tập tin (files) vào dĩa cứng (hard drive), … Tầng này bao gồm 1 bộ các ứng dụng (application) và hệ điều hành gọi là NET Servers Như vậy, NET gần như là một bộ sưu tập (collection) các nhu liệu và khái niệm kết hợp trộn lẫn nhau làm việc nhằm tạo giải đáp các vấn đề liên quan đến thương nghiệp của ta Trong đó:

Tập hợp các đối tượng (objects) được gọi là NET Framework và

Tập hợp các dịch vụ yểm trợ mọi ngôn ngữ lập trình NET gọi là Common Laguage Runtime (CLR)

Các thành phần cơ bản của NET:

User Applications

.NET Framework.NET Servers

.NET Devices

Hardware Components

Trang 5

I.3.1.NET Servers

Mục tiêu chính của NET là giúp ta giảm thiểu tối đa công việc thiết kế hệ thống tin học phân tán (distributed system) Đa số công việc lập trình phức tạp đòi hỏi đều được thực hiện ở hậu phương (back end) trong các máy cung cấp dịch vụ (servers) Microsoft đã đáp ứng với bộ sưu tập ‘.NET Enterprise Servers’, bộ này chuyên trị và yểm trợ mọi đặctính (features) hậu phương cần có cho một hệ thống tin học phân tán (distributed

system)

Bộ sưu tập ‘.NET Enterprise Servers’ bao gồm:

* Server Operationg Systems: MS Windows Server, Advanced Server và Data Center Server

* Clustering và Load Balancing Systems: MS Application Center, MS Cluster Server

* Database System: MS SQL Server (SQL đọc là sư cô, … à không, ’si cồ’)

* E-Mail System: MS Exchange Server

* Data-transformation engine trên cơ sở XML: MS Biz Talk Server

* Accessing Legacy Systems: Host Integration Server

Tất cả các máy server này cung cấp mọi dịch vụ cần thiết cho các ứng dụng

(application) về NET và là nền tảng xây dựng hệ thống Tin Học cho mọi dự án lập trình

I.3.2 NET Framework

Đối với Visual Basic.NET (VB.NET), tất cả mọi thứ đều thay đổi tận gốc rễ Một trong những thành phần quan trọng của NET là NET Framework Đây là nền tảng cho mọi công cụ phát triển các ứng dụng (application) NET

.NET Framework bao gồm:

* Môi trường vận hành nền (Base Runtime Environment)

* Bộ sưu tập nền các loại đối tượng (a set of foundation classes)

Trang 6

* Môi trường vận hành nền (Base Runtime Environment) hoạt động giống như hệ điều hành cung cấp các dịch vụ trung gian giữa ứng dụng (application) và các thành phần phức tạp của hệ thống Bộ sưu tập nền các loại đối tượng (a set of foundation classes) bao gồm 1 số lớn các công dụng đã soạn và kiểm tra trước, tỷ như: giao lưu với hệ thốngtập tin (file system access) hay ngay cả các quy ước về mạng (Internet protocols), … nhằm giảm thiểu gánh nặng lập trình cho các chuyên gia Tin Học Do đó, việc tìm hiểu NET Framework giúp ta lập trình dễ dàng hơn vì hầu như mọi công dụng đều đã được yểm trợ.

Ta xem NET Framework như là một tầng công dụng trừu tượng cung cấp dịch vụ trên

hệ điều hành (nhìn dưới khía cạnh cung cấp dịch vụ):

User Applications

.NET Framework

Hệ điều hành (OS)

Device Drivers

Harware Components (Cương liệu)

Để mọi ngôn ngữ lập trình sử dụng được các dịch vụ cung cấp bởi NET Framework, Microsoft tạo ra 1 tiêu chuẩn chung cho ngôn ngữ lập trình gọi là Common Language Specifications (CLS) Tiêu chuẩn này giúp các chương trình biên dịch (compilers) làm việc hữu hiệu Microsoft sáng chế ra Visual Basic.NET (VB.NET), Visual C++.NET và C# (đọc là C Sharp) cho nền NET Framework và cũng không quên phổ biến rộng rãi CLS trong Công Nghệ Tin Học giúp các ngôn ngữ lập trình khác làm việc trong

nền NET, tỷ như: COBOL.NET, Smalltalk.NET, …

 

Trang 7

.NET Framework bao gồm:

 Môi trường vận hành nền (Base Runtime Environment)

 Bộ sưu tập nền các loại đối tượng (a set of foundation classes)

 Môi trường vận hành nền (Base Runtime Environment) hoạt động giốngnhư hệ điều hành cung cấp các dịch vụ trung gian giữa ứng dụng(application) và các thành phần phức tạp của hệ thống

 Bộ sưu tập nền các loại đối tượng (a set of foundation classes) bao gồm 1

số lớn các công dụng đã soạn và kiểm tra trước, tỷ như: giao lưu với hệthống tập tin (file system access) hay ngay cả các quy ước về mạng(Internet protocols), nhằm giảm thiểu gánh nặng lập trình cho các chuyêngia Tin Học

 Để mọi ngôn ngữ lập trình sử dụng được các dịch vụ cung cấp bởi NETFramework, Microsoft tạo ra 1 tiêu chuẩn chung cho ngôn ngữ lập trình gọi

là Common Language Specifications (CLS) Tiêu chuẩn này giúp cácchương trình biên dịch (compilers) làm việc hữu hiệu Microsoft sáng chế

ra Visual Basic.NET (VB.NET), Visual C++.NET và C# (đọc là C Sharp)cho nền NET Framework và cũng không quên phổ biến rộng rãi CLS trongCông Nghệ Tin Học giúp các ngôn ngữ lậptrìnhkhác làm việc trongnền.NET,như:COBOL.NET,Smalltalk.NET

Trang 8

I.3.2.1 Lợi ích của NET Framework

 Các thao tác muốn thực hiện trên nền Windows, như data access, windowing, nốimạng hay ngay cả mọi công dụng đa dạng của Win32 API (ApplicationProgramming Interface) đều có thể vận dụng dễ dàng qua kiểu mẫu đối tượng(objects) rất đơn giản (simple object model)

 Ngôn ngữ lập trình VB.NET đã được hiện đại hóa, bao gồm nhiều classes và mọiđặc trưng (features) của 1 ngôn ngữ lập trình kiểu OOP, không thua kém gì C++,J++ hay C#,

 Việc quản lý memory được nâng cấp và tinh vi hơn nhằm bảo đảm các ứng dụng

bị té hay cư xử tệ bạt (badly behaved component or application) không ảnh hưỡng

gì đến các ứng dụng khác

 ASP.NET được dùng để thay thế ASP, đồng thời cung cấp các trang Web đượcbiên dịch giúp tiến trình xử lý các yêu cầu từ Client browser hiệu quả hơn Hơnnữa, còn bao gồm nhiều thành phần soạn sẵn (pre-written components) gọi là

Trang 9

Server Control dùng trong các HTML Form và giao diện (user interface) làm việcphát triển mạng thêm dễ dàng và đầy hứng thú.

 Các ngôn ngữ lập trình được phác thảo để làm việc gần nhau hơn, do đó nguồn

mã của VB.NET, C++, C#, có thể sử dụng trộn lẫn với nhau rất thoải mái, tỷnhư ta có thể viết mã cho 1 class với VB.NET rồi kế thừa 1 class khác mà mã làC# hay C++, sau đó vẫn 'debug' ngon lành giữa các ngôn ngữ lập trình khácnhau đó

I.3.2.2 Phương pháp làm việc của NET Framework

 Ðiều kỳ thú nhất trong cấu trúc NET Framework là các nguồn mã của VB.NET

hay C# không biên dịch thành mã thi hành gốc (native executable code) mà lại

qua trung gian một ngôn ngữ khác gọi là IL (Intermediate Language) trước khichạy thật sự

 Nguồn mã có thể biên dịch thành IL đó còn được gọi là managed code, điều nàykhiến cho các ngôn ngữ lập trình của NET hoạt động (hay tác động) qua lại (hổtương - interoperation) với nhau, cho phép ta vận dụng mọi đặc trưng của NET

mà không cần phải viết lại các nguồn mã dùng ngôn ngữ lập trình khác

 Nguyên tắc của IL cũng tương tự như Java, nhưng khác ở chổ Java là

cross-platform independence còn NET là cross-language independence Cũng cần

phải nhắc ở đây, Microsoft vẫn mở rộng vòng tay cho việc phát triển NET trêncác nền (platform) khác trong tương lai

I.3.2.3 Xây dựng chương trình trong NET FRAME:

NET Framework cho ta ba cách để dùng giao diện với chương trình áp dụng, đó làWindows Forms (có khi được gọi tắt là WinForms), Web Forms và Consoleapplications

Trang 10

I.3.2.3.1 Sự quan trọng của Windows Forms ?

Windows Forms là cách hiển thị màn ảnh tối tân hơn Win32 bình thường Kỹ thuậtnằm phía sau Windows Forms trước đây được phát triển cho Windows FoundationClasses (WFC), để dùng trong Visual J++

Thật ra, Windows Forms là một phần của các base classes của NET Framework Cái

Namespace dùng cho nó là System.Windows.Forms, một Namespace chứa rất nhiều thứ đến đổi hầu như chúng ta sẽ không cần phải dùng trực tiếp các Windows APIvềđồhoạ(GraphicsvàDrawings)nhưtrongVB6nữa.

Vì NET Framework chứa đầy đủ mọi thư viện cần thiết cho chương trình, nên mộtkhi đã cài đặt NET Framework trên máy khách rồi ta chỉ cần XCopy đến đó những

Trang 11

folders cần thiết có chứa các tệp (files) chương trình và dữ kiện là đủ Trong mô hìnhlập trình nhiều tầng (multi-tier programming model) mà ta gọi là Windows DNA(Distributed Network Application), quá trình xử lý một công tác được chia ra làmnhiều giai đoạn như:

1 Kiểm chứng các con số user mới điền vào các forms tại máy khách (user

interface)

2 Tính toán (business logic)

3 Truy cập cơ sở dữ liệu (database access)

I.3.2.3.2Những điểm căn bản của Windows Forms ?

• Một Windows Form thật sự là một class.Vì một form là một class nên ta không thể t ự động load Tức là trong VB6 nếu ta Show hay dùng đến một Form thì nó tự động được loaded

• Tất cả mọi form đều thừa kế từ class System.Windows.Forms.Form

• Giống như tất cả các classes trong NET Framework, Windows Forms có

constructors và destructors Constructor của form tên là Sub New

• Cái visual forms designer của VS.NET chứa rất nhiều code để instantiate form vàđặt các controls vào form Đó là code mà đáng lẽ ta phải tự viết nếu ta dùng notepad

để lập trình Phần code nầy thay thế cái phần nằm ở đầu tệp frm của VB6 để diễn tả các visual components của form Mỗi lần ta thêm bớt các controls hay thay thế các properties của controls trên form thì code generated cho form được thay đổi theo Do

đó bạn nên tránh sửa đổi code ấy, trừ khi biết chắc mình đang làm gì, hay là bạn làm một phiên bản trước khi thay đổi để nếu lỡ kẹt thì restore code cũ

Trang 12

• Event được xử lý bằng cách linh động hơn Các events chứa nhiều tin tức hơn Một Event có thể được xử lý bởi nhiều controls cùng một lúc và mỗi control có một cách xử lý khác nhau Ngược lại, nhiều Events khác nhau có thể được xử lý bằng mộtEvent Handler duy nhất.

I.3.3 Những thành phần cơ bản:

I.3.3.1 Thực đơn chính (Main Menu)

Thực đơn (menu) của Microsoft Visual Studio.NET IDE … ‘biến hóa’ tùy theo công việc đang làm nhưng tổng quát, thực đơn (menu) chính hiển thị bao gồm

Tiêu chuẩn chung cho mọi ứng dụng (application) trong nền Windows File dùng để mở(open) hay đóng (close) các tập tin (files) hay dự án (project)

Project

Dùng để quản lý dự án (project) bằng cách thêm vào hay xóa bỏ các tập tin liên hệ

Trang 13

I.3.3 2Thanh công cụ (Toolbars)

Cách dùng thanh công cụ sẽ được hướng dẫn tùy từng dự án (project) Tuy nhiên, 1 cáchtổng quát, thanh công cụ mặc định (default) bao gồm như sau (theo thứ tự từ trái quaphải):

Trang 14

New Project

Add Item

Open File

Save (lưu trữ form hay module đang dùng)

Save All (lưu trữ mọi forms, modules, … đang dùng hay đang mở)

Navigate Backward (lướt lui)

Navigate Forwards (lướt tới)

Nút Start để chạy thử ứng dụng trong IDE

Build Configuration (bố trí xây dựng ứng dụng) trong IDE Ở đây, cho ta biết bố trí hiệndùng là Debug

Truy tìm tập tin (Find in files)

và cuối cùng, nút Toolbar Options để hiển thị thêm các công cụ phụ thuộc khác.

Trang 15

I.3.3 3 Hộp công cụ (Toolbox)

Nhấp đơn hộp công cụ nằm phía bên tay trái window thiết kế như hình sau Hộpcông cụ bao gồm:

Class

classname   

properties   subroutines   

functions

End Class

Trang 16

  

Các loại (catogories) base class trong NET Frame sau:

String

Collections và Arrays: Arrays, Lists, Maps, Linked Lists,

WinForms: dùng hiển thị Windows và các Controls Text Boxes, Combo Boxes,

List Boxes, File Dialogs,

Web Forms: phác thảo dùng cho mạng

File Handling: dùng lướt qua lại (navigate) các file system trong máy hay trong

mạng, kiểm tra đặc tính (properties) của files, read, modify hay write cũng nhưchuyển (move) và sao chép (copy) các tập tin hay folders

Registrry Access: đ ọc hay viết nội dung của registry.

Internet: nối vào mạng, tải lên hay tải xuống các tập tin.

ADO.NET: nối vào các cơ sở dữ liệu (database) và vận dụng các records với 1 khái niệm mới về disconnected data cũng như sử dụng XML để chuyển data đi

khắp mọi nơi mọi chỗ

CHƯƠNG II: : Kết nối cơ sở dữ liệu với ADO.NETII.1 Tìm hiểu về khái niệm ADO.Net

 Trong Net (VB.Net và C#) chỉ tồn tại khái niệm ADO.Net mà ko tồn tại kháiniệm cũ ADO (của VB6.)

Trang 17

 Có thể diễn đạt theo thứ tự là:

Database > Conection > Command > DataAdapter > Datatable hay Dataset

 Mô hình ADO

Trang 18

II.2 Namespace cần thiết để thao tác với Access hoặc SQL

1 Imports System.Data

2 Imports System.Data.OleDb 'sử dụng với access

3 imports System.Data.sqlclient ’sử dụng với sql

II.3.Connect với Database:

Ví dụ :file cần kết nối là quanlithuvien.mdb được đặt trong thư mục Debug và có

Password là 123456

Public Class Form1

Dim con As OleDbConnection ' Cục bộ trong Form

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

Dim str As String = "Provider= Microsoft.Jet.OLEDB.4.0;" & "Data Source = " & Application.StartupPath & "\quanlithuvien.mdb;" & "Jet OLEDB:Database Password = 123456"

con = New OleDbConnection(str)

  con.Open()

End Sub

II.3.1 Command(Lệnh):

- Ví dụ : Dùng để Select hết tất cả dữ liệu trong bảng ra.

Dim command As New OleDbCommand()

1         command.Connection = con ' Kết nối

2         command.CommandType = CommandType.Text  'Loại lệnh sử dụng là Text hay là một query trong access

Trang 19

3         command.CommandText = "Select * From tb DOCGIA" 'Lệnh cần làm với Database

-Truyền tham số cho command

Ví dụ

- command.CommandText = "Select * From DanhsachSV Where Name =

@Name"(Ở đây ta có @Name là tham số mà ta cần phải điền giá trị cho nó, ta

gán giá trị như sau:

- Khai báo một DataAdapter chỉ đơn giản thế này

1 Dim adapter As New OleDbDataAdapter()

2 Ngoài ra còn các hình thức khởi tạo khác, nhưng chỉ được dùng với các loạicommand thuộc dạng Select và tùy theo cách mà chúng ta cảm thấy quen thuộcnhất:

3 OleDbDataAdapter (OleDbCommand)  

4 OleDbDataAdapter (StringSelect, OleDbConnection)    

5 OleDbDataAdapter (StringSelect, StringConnect)  

6 Sau khi thực hiện lệnh, chúng ta sẽ có được kết quả trả về và nó được lưu trongDataTable (đại diện cho một table ) và DataSet ( đại diện cho một TableCollection)

- Lưu ý: Muốn làm thay đổi dữ liệu nguồn (trên file) thì ta phải tác động vào các

Trang 20

DataTable hay Dataset đồng thời cung cấp thêm các câu SQL tương ứng để thựcthi sự thay đổi đó

II.3.3 Select dữliệu:

Ví dụ:

      'Tạo một đối tượng Datatable nhận dữ liệu trả về

        Dim dt As New DataTable("DanhsachSV")

    'Tạo bộ máy DataAdapter thực hiện command

Dim da As New OleDbDataAdapter()

//tạo form để kết nối với dữ liệu đã tạo ra ở trên:

Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click

        'Tạo command để lấy dữ liệu ra ngoài

1 Dim command As New OleDbCommand()

2 command.Connection = con ' Kết nối

3 command.CommandType = CommandType.Text  'loại lệnh sử dụng là Text hay

là một query trong access

4   command.CommandText = "Select * From DanhsachSV"

5 da.SelectCommand = command ‘ gán command cho da

6 5.da.Fill(dt)  'Nạp dữ liệu vào Table

7 DataGridView1.DataSource = dt 'Load dữ liệu lên DataGridview

8 End Sub  

- Là sự kết hợp DataGridview và các Textbox, để khi chúng ta click vào một hàng bất kỳnào trên DataGridview thì dữ liệu của hàng đó sẽ hiện lên Textbox Đó là kỹ

Trang 21

II.3.5 Insert một Row mới vào trong Table:

- Để insert một Row mới vào File data trước hết ta cần thêm một dòng mới vào DataTable hay DataSet

1 Private Sub btnInsert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsert.Click

2         'Tao 1 row moi theo cấu trúc row trong dt

3         Dim row As DataRow = dt.NewRow()

9         dt.Rows.Add(row)  ' add row mới này vào dt

II. 3.6 Update(chỉnh sửa mộtRecord)

Trang 22

Để chính sửa một Record thì trước tiên bạn phải xác định được Record đó ở đâu

trong Database cái đã > Xác định nó thông qua Primary Key.

Ví dụ có giao diện như sau:

Primary key ở đây là STT, và khi click vào DataGridview là lấy được thông tin của Record hiện thời Vậy đoạn code để Update một record như sau

1 Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnUpdate.Click 'Get Record can update trong Table

2  Dim row As DataRow = dt.Select("STT = " & Convert.ToInt32(txtSTT.Text))(0)

'Update row

3         row.BeginEdit()

4         row("Name") = txtName.Text

5         row("Address") = txtAddress.Text

Trang 23

6         row("Phone") = txtPhone.Text

7         row("Email") = txtEmail.Text

8         row.EndEdit()

    'Tao command để update sự thay đổi trên vào file data nguồn

9         Dim commandUpdate As New OleDbCommand()

        'Nap tham so cho các command trên

13.   commandUpdate.Parameters.Add("@Name", OleDbType.VarChar, 20, "Name")

Trang 24

V í d ụ:Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnDelete.Click

1         'Get Record can update trong Table

2         Dim row As DataRow = dt.Select("STT = " &

Convert.ToInt32(txtSTT.Text))(0)

3         row.BeginEdit()

4         row.Delete()

5         row.EndEdit()

        'Tao command để update sự thay đổi trên vào file data nguồn

6         Dim commandDelete As New OleDbCommand()

        'Dùng da để áp đặt sự thay đổi trên vào File data nguồn

      da.DeleteCommand = commandDelete 'gán command

11.    End Sub

Trang 25

Chú ý : Để xóa hết tất cả Record trong bảng ta chỉ cần dùng SQL sau “Delete From DanhsachSV”

II.3.8 Insert, Update, Delete dữ liệu:

II.3.9 Gọi thực thi một Query có sẵn trong file Access

- Ví dụ bạn mở file access của bạn ra click vào Tab Queries và viết một Query tên là QuerySelect

SELECT *

Trang 26

1 FROM DanhsachSV

2 WHERE STT>[@STT];

- Để làm điều này thật đơn giản, ta dùng command mà thôi

1 Private Sub btnQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuery.Click

2         Dim command As New OleDbCommand()

3         command.Connection = con

4         command.CommandType = CommandType.StoredProcedure ' Xác định ta đang gọi query trong file access

5         command.CommandText = "QuerySelect" 'Tên của Query

6         command.Parameters.Add("@STT", OleDbType.Numeric).Value = 5 'Nạp giá trị cho tham số @STT

7         'Nạp command trên vào DataAdapter tùy theo dạng của command là

Select, insert, update hay delete

Trang 27

1 Private Sub cmdtinhtien_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuery.Click

2         Dim command As New OleDbCommand()

myVariable với loại (Data Type) String

Dim my ariable as string

Data Types :(ki ểu dữ liệu )

Byte Integers 1 byte (được biết như System.Int)

Short Integers 2 bytes (System.Int16)

Integer Integers 4 bytes (System.Int32)

Long Integers 8 bytes (System.Int64)

Single Floating-ppints 4 bytes với decimal point (System.Single)

Trang 28

Double Floating-ppints 8 bytes (System.Doublel)

Decimal Floating-ppints 12 bytes (System.Decimal)

Char String single Unicode character (System.Char)

Boolean Boolean Có/Không hay Ðúng/Sai , True/False (System.Boolean)

II.4.2.Arrays(MẢNG):

Arrays là 1 tập hợp các biến số được liên hệ riêng biệt qua chỉ số (index) của Arrays

 Arrays dùng trong VB.NET bắt đầu với index bằng số 0

 Mọi biến số trong Array phải cùng loại dữ kiện (same data type), không thể trộn lẫn nhiều loại khác nhau

 Khai báo:

 Dim myArray(9) As Integer

 Dim yourArray( ) As String = { "Tý", "Sữu", "Dần", "Mão", "Thìn", Tỵ", _       "Ngọ", "Mùi", "Thân", "Dậu", "Tuất", "Hợi" }

II.4.3.Operators ( Toán tử )

Operators là các ký hiệu dùng để thi hành 1 công việc thuộc phạm vi Toán Học

Trang 29

Addition, Substraction +,

-Bitwise NOT, AND, OR và XOR BitNot, BitAnd, BitOr, BitXor

Equal to, not equal to, less than, greater than =, <>, <, >

Less than or equal to, greater than or equal

Assigment =, ^=, *=, /=, =, +=, -=, &=Logical NOT, AND, OR và XOR NOT, AND, OR, XORLess than or equal to, greater than or equal

Assigment =, ^=, *=, /=, =, +=, -=, &=Logical NOT, AND, OR và XOR NOT, AND, OR, XOR

II.4.4.Phát biểu điều kiện (conditional)

Ví dụ :

If (Nếu) bên ngoài nhiệt độ dưới 20 độ Then tôi sẽ nằm nướng trên giường vài tiếng nữaElse(Ngược lại)

Tôi sẽ phải dậy học bàiEnd If

Trang 30

 Phát biểu if…else trên một dòng:

Dạng đơn nhất của phát biểu này chỉ là kiểm tra một điều kiện đúng

Ví dụ:

IF X>0 THEN MESSAGE.SHOW(“GIA TRI DUONG”)

4.3 Phát biểu if …else nhiều dòng:

Trong trường hợp khi điều kiện đúng xảy ra và có nhiều dòng phát biểu llệnh được thực thi,ta dùng cú pháp sau:

Trang 31

Thực thi sự kiện

Kiểm tra điều kiện

Hiển thị kết quả cuối cùng

Phát biểu if then else if và các if lồng nhau:

 Khi xét một điều kiện nếu đúng thì thực thi phát biểu lệnh và nếu sai thì thực thi phát biểu lệnh khác Nếu cần xét nhiều điều kiện khác nhau thì ta dung từ khoá elseif để mở rộng phát biểu If

 Đ ôi khi logic của ch ương trình đòi hỏi phải xử lí phức tạp hơn ,khi m ột

đi ều kiện thoả thì lại ph ải x ét ti ếp các điều kiện khác dựa trên kết quả củađiều kiện vừa xét L úc này phải sử dụng các phát biểu if lồng nhau để xử lí

Trang 32

.Ngh ĩa l à b ên trong ph át bi ểu if….Then thay v ì ph át bi ểu lệnh đ ược thực thi thì lại có những phát biểu if….then khác.

 Tuy nhi ên n ếu l ồng qu á nhi ều if…else càng nhiều thì m ã chương trình càng khó đọc v à khó kiểm soát h ơn

II.4.5 Phát biểu SELECT CASE :

Trong trường hợp muốn so sánh một giá trị hoặc biểu thức với một nhóm các giátrị khác .Ta có thế sử dụng nhiều phát biểu IF…THEN để thực hiện sosánh Tuy nhiên vì hạn chế của nó nên ta sử dụng phát biểu Select…Case

 Biểu thức:là giá trị hợăc biểu thức so sánh

 Value 1,2…:Là các giá trị hoặc biểu thức được so sánh

 Nếu khong có phép sp sánh nào thoả mãn (true) thì phát biểu Endselect case sẽ được thực thi.

 Ví dụ:

Trang 33

Dim int YO as Integer

int YO=int 32.Parse(textbox1.text)

select Case intYO

messageBox.show ("ban nen nghi ngoi di nhe") End select

Trang 34

 DO…LOOP WHILE:Vòng lặp thực hiện ít nhất một lần ngay cả khi điều kiện

đã bị sai ngay từ đầu

 Cú pháp 2:

 DO

Phát biểu thực thi

 LOOP WHILE điều kiện

 DO…UNTIL:Vòng lặp DO UNTIL được thực hiện trong khi điều kiện vẫn còn

sai hay nói cách khác thì vòng lặp này kết thúc khi điều kiện trở thành đúng

 Cú Pháp:

 FOR I [as kiểu dữ liệu] = số bắt đầu TO số kết thúc[STEP bước nhảy]

 I:là biến đếm

 kiểu dữ liệu:Là kiểu dữ liệuc ủa biến đếm I

 số bắt đầu:là giá trị bắt đầu của biến i

Trang 35

 số bắt đầu:là giá trị cu ối cùng của biến i

 5.2.1 Vòng lặp FOR EACH…N EXT :

 Là vòng lặp để xử lí nội dung của mảng hoặc tập hợp nh ưng không bi ết trước số lần phần tử đang được lưu trữ Vòng lặp n ày t ự động duy ệt qua c ác ph ần t ử

 C ú ph áp:

 FOR EACH phantu as kiểu dữ liệu in taphop

 Phat bieu thuc thi

 Next

Chương III: Chức năng của VB.net

III.1: Những chức năng mới trong giao diện cửa sổ của VB.NET

Một chương trình ASP gồm có nhiều trang giống như trang Web (HTML) nhưng bên trong có những mảnh chương trình viết bằng VBScript hay JavaScript (thật ra script nào cũng được, kể cả PerlScript) nằm ở nhiều nơi Các mảnh Script nầy có thể truy cập

cơ sở dữ liệu để sửa đổi hay lấy dữ kiện ra để hiển thị tại chỗ ấy (nơi mảnh Script nằm trong trang ASP) để tạo trang Web kết quả

Trong ASP.NET, tất cả các mảnh chương trình Script ấy được lấy ra riêng, để chung vớinhau và được viết lại dưới dạng ngôn ngữ thuần túy VB.NET hay C# Phần coding đó

được gọi là code behind (code nằm phía sau) và rất giống như các Event Handling Sub

ta viết trong VB.NET cho Windows Forms

Trong tương lai, khi bàn đến Web Forms ta chỉ học tổng quát về ASP.NET và nhất là chỉ dùng VB.NET trong các chương trình đơn giản

Trang 36

III.1.1: Sự quan trọng của Windows Forms ?

Windows Forms là cách hiển thị màn ảnh tối tân hơn Win32 bình thường Kỹ thuật nằm phía sau Windows Forms trước đây được phát triển cho Windows Foundation Classes (WFC), để dùng trong Visual J++ Điều nầy cắt nghĩa sự già dặn và vững chải của một sản phẩm hãy còn ở tình trạng Beta

Khi ta nghe nói đến NET với những hứa hẹn về ứng dụng trên Internet như Web Forms

và Web Services, rất dễ cho ta tưởng rằng Microsoft phải cung cấp Windows Forms là cực chẳng đã cho nó trọn vẹn món hàng Thật ra, Windows Forms là một phần của các base classes của NET Framework Cái Namespace dùng cho nó

làSystem.Windows.Forms, một Namespace chứa rất nhiều thứ đến đổi hầu như chúng

ta sẽ không cần phải dùng trực tiếp các Windows API về đồ hoạ (Graphics và

Drawings) như trong VB6 nữa.

Nhu cầu có những áp dụng phía khách (client-based application) phong phú (rich), linh động (flexible) và nhanh chóng (responsive) sẽ vẫn còn đó Hiện nay, để tránh phí tổn vềcài đặt (deployment) các chương trình, người ta bắt đầu có khuynh hướng đặt các

chương trình chạy trên Webserver, rồi cho user sử dụng chúng qua WebBrowser Ngoài công chúng thì dùng Internet, trong hãng xưởng thì dùng Intranet (Intranet là Internet chạy trên Local Area Network - mạng địa phương, không liên lạc gì với bên ngoài), tuy nhiên giao diện trên Web không phong phú hay nhanh như trên desktop và dĩ nhiên côngtác lập trình đòi hỏi một thời gian phát triển lâu hơn

Vì NET Framework chứa đầy đủ mọi thư viện cần thiết cho chương trình, nên một khi

đã cài đặt NET Framework trên máy khách rồi ta chỉ cần XCopy đến đó những folders

cần thiết có chứa các tệp (files) chương trình và dữ kiện là đủ Thực hiện việc nầy trên mạng địa phương (Local Area Network) rất dễ và nhanh, thậm chí ta có thể tự động hóa công tác copy nầy. 

Trong mô hình lập trình nhiều tầng (multi-tier programming model) mà ta gọi

Trang 37

là Windows DNA (Distributed Network Application), quá trình xử lý một công tác

được chia ra làm nhiều giai đoạn như:

1 Kiểm chứng các con số user mới điền vào các forms tại máy khách (user

interface)

2 Tính toán (business logic)

3 Truy cập cơ sở dữ liệu (database access)

Và mỗi giai đoạn nói trên có thể nằm trên một computer khác nhau Nếu dùng Internet

thì giai đoạn 1 nói trên sẽ chạy trong WebBrowser bằng trang Web có chứa JavaScript

routines để kiểm chứng các con số user mới đánh vào Còn các giai đoạn kia có thể chạy

trên WebServer Dĩ nhiên giai đoạn 3 phải chạy trên WebServer, nơi chứa cơ sở dữ kiện.

.NET cho phép ta lập trình giai đoạn 1 để chạy trong Windows Forms Còn các giai đoạn kia có thể để y nguyên. 

Như thế, giả dụ như ta có một hệ thống đặt hàng, ta có thể cho các telephone operators dùng desktop (Winforms) application với một giao diện được tối ưu hóa, chạy thật nhanh để phục vụ những người đặt hàng bằng điện thoại Trong khi đó khách hàng cũng

có thể đặt hàng qua Internet WebBrowser như bình thường Cả hai nhóm users nầy dù

có giao diện khác nhau nhưng đều xài chung các tầng business logic và database access.Đây là một ưu điểm rất quan trọng của NET mà ít ai chú ý Nếu thiết kế khéo, ta có thể lập trình để dùng chung hầu hết phần mềm trên desktop, distributed (phân tán), Internet

và Mobile (Mobile phone, Pocket-PC)

III.1.2: Những điểm căn bản của Windows Forms ?

Trong các bài học và thí dụ trước đây ta đã nói qua, bây giờ ta tóm tắc những điểm căn bản của Windows Forms:

Một Windows Form thật sự là một class Trong NET không có từ đặc biệt như

"form module" để dùng cho nó

Trang 38

 Vì một form là một class nên ta không thể load nó mà không nói thẳng thừng ra Tức là trong VB6 nếu ta Show hay dùng đến một Form thì nó tự động được

loaded Chẳng những thế thôi, cái class Form2 được dùng như một variable Form2 luôn, tức là by default ta có một Object tên Form2 Trong NET ta phải

khai báo (declare) một variable tên myForm2 chẳng hạn rồi instantiate form ấy như một Object của Form2 trước khi dùng nó

Tất cả mọi form đều thừa kế từ class System.Windows.Forms.Form.

 Giống như tất cả các classes trong NET Framework, Windows Forms có

constructors và destructors Constructor của form tên là Sub New, đại khái giống như Sub Form_Load trong VB6 Destructor của form tên là Sub Dispose, đại khái

giống như Sub Form_Unload trong VB6

 Cái visual forms designer của VS.NET nhét rất nhiều code để instantiate form và đặt các controls vào form Đó là code mà đáng lẽ ta phải tự viết nếu ta dùng

notepad để lập trình Phần code nầy thay thế cái phần nằm ở đầu tệp frm của VB6

để diễn tả các visual components của form Mỗi lần ta thêm bớt các controls hay thay thế các properties của controls trên form thì code generated cho form được thay đổi theo Do đó bạn nên tránh sửa đổi code ấy, trừ khi biết chắc mình đang làm gì, hay là bạn làm một phiên bản trước khi thay đổi để nếu lỡ kẹt thì restore code cũ

 Event được xử lý bằng cách linh động hơn Các events chứa nhiều tin tức hơn Một Event có thể được xử lý bởi nhiều controls cùng một lúc và mỗi control có một cách xử lý khác nhau Ngược lại, nhiều Events khác nhau có thể được xử lý bằng một Event Handler duy nhất

Bạn tạo một chương trình Windows Forms bằng cách dùng IDE menu command File | New | Project  để hiển thị giao thoại New Project và chọn Template Windows

Trang 39

Trong thí dụ nầy, khi bạn click nút OK thì một subfolder tên

(Name:) WindowsApplication4 sẽ được tạo ra trong folder (Location:)E:\NET\

HongDevelopment\LessonPreparation để chứa các tệp của Project Sau nầy, khi bạn build, tức là compile chương trình, thì kết quả sẽ là một tệp .exechứa trong folder E:\ NET\HongDevelopment\LessonPreparation\WindowsApplication4\bin.

Dĩ nhiên trước khi click nút OK bạn có thể sửa Name: hay Location: tùy ý Ngoài ra, vì

bạn chọn Windows Application, nên project của bạn tự động có reference đến NET

component System.Windows.Forms.dll.

Để xem lướt qua namespace System.Windows.Forms, bạn hãy thử xúc tiến tạo cái

project WindowApplication4 nầy Kế đó bạn chạy Object Browser bằng cách click hình tam giác nhỏ của Class View icon rồi chọn Object Browser:

Trang 40

Trong Object Browser, expand cái System.Windows.Forms tree để xem những types được định nghĩa bên trong và các class members của Form:

Ngày đăng: 18/05/2016, 14:31

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w