Tải bản đầy đủ (.docx) (185 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.25 MB, 185 trang )

LỜI MỞ ĐẦU
 VB.NET là một trong 25 ngôn ngữ lập trình của .NET được cung cấp bởi .NET

Framework và CLR.
 VB.NET khác hẳn VB6 và thật sự chuyển mình thành 1 ngôn ngữ lập trình OOL

chính yếu không khác gì với mọi ngôn ngữ lập trình khác như C#, C++, J++, ...
trong môi trường xây dựng đủ mọi ứng dụng cho nền Windows và quan trọng hơn
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úc
lậ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.


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.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.
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


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ậ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. 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ập
trì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


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 đặc
tí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)
* 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ố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ê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, …


.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ố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ố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ên
gia 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 .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ậptrìnhkhác làm việc trong
nền.NET,như:COBOL.NET,Smalltalk.NET.


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ối
mạng hay ngay cả mọi công dụng đa dạng của Win32 API (Application
Programming 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 được
biê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ơn


nữa, còn bao gồm nhiều thành phần soạn sẵn (pre-written components) gọi là
Server Control dùng trong các HTML Form và giao diện (user interface) làm việc
phá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ác
nhau đó.

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 khi
chạ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ày
khiế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à crossplatform 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ên
cá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à Console

applications.

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ậ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++.
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ộ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à đủ. Trong mô hình
lậ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à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)
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ũ.
• 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.
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).
Edit
Edit cung cấp các chọn lựa khi soạn nguồn mã và dùng các công cụ lập trình, tỷ như:
Undo, Redo, Cut, Copy, Paste và Delete


View
View cung cấp sư chọn lựa hiển thị các Windows tạo môi trường của IDE, tỷ như:
Solution Explorer, Properties, Output, Tool Box, Server Explorer. Nếu ta để ý sẽ thấy
các Windows này thường nằm 2 bên hoặc bên dưới window thiết kế Form hay soạn
nguồn mã.Các windows này cũng có thể hiển lộ hay thu kín lại nhường chổ cho window
thiết kế được rộng rãi.
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ệ.
Build
Một lựa chọn quan trọng trong thực đơn là Build cho phép ta xây dựng và chạy ứng
dụng (application) 1 cách độc lập bên ngoài IDE.
Debug
Debug không những giúp phương tiện rà tìm các lỗi lập trình trong môi trường IDE mà
còn giúp kiểm tra từng bước một các nguồn mã trong dự án (project).
Data
Giúp ta nối và sử dụng dữ kiện hay thông tin trong Cơ Sở Dữ Liệu (Database).
Tools
Chứa các công cụ bố trí Microsoft Visual Studio.NET IDE.
Windows


Tiêu chuẩn chung dùng quản lý mọi windows trong IDE.
Help
Cung cấp nối yêu cầu giúp đỡ với Microsoft Visual Studio.NET documentation hay từ
mạng Internet.
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ách
tổng quát, thanh công cụ mặc định (default) bao gồm như sau (theo thứ tự từ trái qua
phải):
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ở)
Cut
Copy
Paste (sẽ hiển lộ sau khi ta nhấp nút Cut hay Copy)

Undo
Redo


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ện
dù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.
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ộp
công

cụ bao gồm:

Hộp Data
Hộp Components


Hộp Windows Forms
Hộp Clipboard Ring
Hộp Gerneral
I.3.3 .4Class:Classes là phần ta xác định hay định nghĩa các đối tượng (Object) Ví
dụ:Để định nghĩa 1 cái đồng hồ, ta diễn tả kim giờ, kim phút, kim giây cùng các con số
chỉ giờ, cách bố trí giờ giấc hay ngày tháng năm, ... Tương tự như thế, class định nghĩa
Class

đối tượng (Object) qua cácclassname

đặc tính (properties) và các phương pháp (method) biểu thị
properties
đặc trưng cho class.Mọi thứ
trong .NET Framework hay VB.NET đều đại biểu cho
subroutines

classes'.

functions

End Class

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.NET
II.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ái

niệm cũ ADO (của VB6.)
 ..Có thể diễn

đạt


theo thứ

tự

là:

Database--> Conection--> Command--> DataAdapter--> Datatable hay Dataset
 Mô hình ADO


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

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:


-

commandInsert.Parameters.Add("@Name",OleDbType.VarChar).Value=
txtName.Text

II.3.2 DataAdaptervàDataset,DataTable
- Chúng ta đã có Connect và commnand rồi, giờ chúng ta cần có một cái máy sử dụng
những cái trên để thực thi lệnh mà ta đưa ra --> Đó chính là DataAdapter.
- 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ại

command thuộc dạng Select và tùy theo cách mà chúng ta cảm thấy quen thuộc
nhấ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 trong
DataTable (đại diện cho một table ) và DataSet ( đại diện cho một Table
Collection).
- 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
DataTable hay Dataset đồng thời cung cấp thêm các câu SQL tương ứng để thực
thi 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

II.3.4

DataBinding


- 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ỹ
thuậtDataBinding.
- Thêm đoạn code sau vào sau đoạn code select ở trên các bạn sẽ thấy hiệu quả ngay.
'Databinding
1) txtSTT.DataBindings.Add("Text", dt, "STT") ‘ Ở đây ta cần binding textbox

txtSTT với giá trị Text ở cột STT của Table
txtName.DataBindings.Add("Text",dt,"Name")
txtAdress.DataBindings.Add("Text",dt,"Address")
txtPhone.DataBindings.Add("Text",dt,"Phone")
txtEmail.DataBindings.Add("Text", dt, "Email")
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()


4.

row("STT") = txtSTT.Text

5.

row("Name") = txtName.Text

6.

row("Address") = txtAdress.Text

7.

row("Phone") = txtPhone.Text


8.

row("Email") = txtEmail.Text

9.

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

II. 3.6

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


Để 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

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()

10.

commandUpdate.Connection = con

11.

commandUpdate.CommandType = CommandType.Text
'SQL for Update

12.

commandUpdate.CommandText = "Update DanhsachSV Set Name=@Name,
Address=@Address, Phone=@Phone, Email=@Email Where STT=@STT"
'Nap tham so cho các command trên


13.

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


commandUpdate.Parameters.Add("@Address", OleDbType.VarChar, 20,

14.

"Address")
commandUpdate.Parameters.Add("@Phone", OleDbType.VarChar, 20,

15.

"Phone")
commandUpdate.Parameters.Add("@Email", OleDbType.VarChar, 20,

16.

"Email")
17.

commandUpdate.Parameters.Add("@STT", OleDbType.Integer, 20, "STT")

II.3.7 Delete1Record:

- Xóa một Record cũng tương tự như Update chỉ khác phần SQL và tham số .
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()


×