Xem mẫu

  1. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG TRƯỜNG................. KHOA……………. ĐỒ ÁN CHUYÊN NGÀNH ĐỀ TÀI: Tìm hiểu về VB. net ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 1
  2. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG MỤC LỤC Chương I: GIỚI THIỆU CHUNG VỀ VB.NET I.1 Sơ lược về lịch sử của VB.NET…………………………………………3 I.2Các thành phần của.Net ....... …………………………………………….4 I.2.1.NETServers……………………………………………………...4 I.2.2.NETFramework...................................................................... I.2.2.1 Lợi ích của .NET Framework……………………………………5 I.2.2.2 Phương pháp làm việc của .NET Framework…………………6 I.2.2.3 Xây dựng chương trình trong .NET FRAME……………………..7 I.3 Kết nối cơ sở dữ liệu với ADO.NET 1. Tìm hiểu về khái niệm ADO.Net ……………………………..12 2. Namespace cần thiết để thao tác với Access hoặc SQL……..13 3. Connect với Database trong ADO.Net………………………13 4 .Các biến và cách khai báo biến trong ADO.Net…………….19 II.3 Khác biệt cơ bản giữa Visual Basic.Net với Visual Basic 6 .0……………….24 Chương II . KH ẢO S ÁT PTTKHT QU ẢN L Ý TH Ư VI ỆN II.1 Khảo sát ………………………………………………………………..29 II.2 Phân tích ………………………………………………………………...30 II..3 Thiết kế ………………………………………………………………….31 Chương III . XÂY DỰNG BÀI TOÁN QUẢN LÝ THƯ VIỆN TRÊN VB.NET : ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 2
  3. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 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. LỜI CẢM ƠN Đây là đồ án chuyên ngành đầu tiên mà em được làm c ùng với việc cố gắng tìm hiểu m ột ngôn ngữ hoàn toàn mới mà em chưa được học trong chương trình của mình môn VB.Net nên chắc chắn không chỉ một mà sẽ có vô vàn sai sót và khuyết điểm. Em luôn mong muốn nhận được sự đóng góp chân thành nhất từ phía các thầy cô và các bạn. Qua đây em cũng xin gửi lời cám ơn chân thành nhất đến các thầy cô khoa CNTT-Đại Học DTU đã tạo điều kiện cho em thực hiện , đặc biệt là thầy Đoàn Văn Thắng đã tận tình hướng dẫn giúp em hoàn thành đồ án và các thầy cô đã giảng dạy cung cấp cho em các kiến thức cơ bản giúp em hoàn thành tốt đồ án này. ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 3
  4. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 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. 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 Sự chào đời của Visual Basic Version 1.0 vào năm 1991 thật sự thay đổi bộ mặt lập trình trong Công Nghệ Tin Học. Trước đó, 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. Khi Visual Basic phiên bản 3.0 được giới thiệu, thế giới lập trình lại thay đổi lần nữa. Kỳ này, ta có thể thiết kế các ứng dụng (application) liên hệ đến Cơ Sở Dữ Liệu (Database) trực tiếp tác động (interact) đến người dùng qua DAO (Data Access Object). Ứng dụng này thưòng gọi là ứng dụng tiền diện (front- end application) hay trực diện. Phiên bản 4.0 và 5.0 mở rộng khả năng VB nhắm đến Hệ Điều Hành Windows 95. 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). 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) ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 4
  5. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 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. I.2Các thành phần của.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 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 LaguageRuntime(CLR). Hãy quan sát thành phần cơ bản của.NET: UserApplications .NETFramework .NETServers .NETDevices HardwareComponents I.2.1.NETServers .NET Enterprise Server 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 E-Mail System: MS Exchange Server Data-transformation engine trên cơ sở XML: MS Biz Talk Server AccessingLegacySystems:HostIntegrationServer I.2.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 ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 5
  6. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG .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.2.2.1 Lợi ích của .NET Framework ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 6
  7. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 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.2.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à 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ên các nền (platform) khác trong tương lai. I.2.2.3 Xây dựng chương trình trong .NET FRAME: ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 7
  8. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG .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. 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ư: ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 8
  9. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 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) 2) Nhữ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.2.3 Những thành phần cơ bản: 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: File ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 9
  10. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 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 ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 10
  11. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG Cung cấp nối yêu cầu giúp đỡ với Microsoft Visual Studio.NET documentation hay từ mạng Internet. 3.2 Thanh 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. ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 11
  12. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 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 3.4 Class: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 đối tượng (Object) qua các đặc tính (properties) và các phương pháp (method) biểu thị đặc trưng cho class.Mọi thứ trong .NET Framework hay VB.NET đều đại biểu cho classes'. Class classname properties subroutines functions End Class Các loại (catogories) base class trong .NET Frame sau: ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 12
  13. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 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ỗ I.3 Kết nối cơ sở dữ liệu với ADO.NET 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 ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 13
  14. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 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 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 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() ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 14
  15. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 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 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 đó 3.3Sel ect 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ÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 15
  16. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG '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 3.4DataBinding - 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") 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 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 ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 16
  17. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 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" ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 17
  18. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 'Nap tham so cho các command trên 13. commandUpdate.Parameters.Add("@Name", OleDbType.VarChar, 20, "Name") 14. commandUpdate.Parameters.Add("@Address", OleDbType.VarChar, 20, "Address") 15. commandUpdate.Parameters.Add("@Phone", OleDbType.VarChar, 20, "Phone") 16. commandUpdate.Parameters.Add("@Email", OleDbType.VarChar, 20, "Email") 17. commandUpdate.Parameters.Add("@STT", OleDbType.Integer, 20, "STT") 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() 7. commandDelete.Connection = con 8. commandDelete.CommandType = CommandType.Text 'SQL for Delete 9. commandDelete.CommandText = "Delete From DanhsachSV Where STT=@STT" 'Nap tham so cho các command trên 10. commandDelete.Parameters.Add("@STT", OleDbType.Numeric, 20, "STT") '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 ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 18
  19. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG - Chú ý : Để xóa hết tất cả Record trong bảng ta chỉ cần dùng SQL sau “Delete From DanhsachSV” . 3.8 I nsert, Update, Delete dữ liệu: Ví dụ Update: Dim MiAnLien As New OleDbCommandBuilder(da) 'Get Record can update trong Table 1. Dim row As DataRow = dt.Select("STT = " & Convert.ToInt32(txtSTT.Text))(0) 'Update row 2. row.BeginEdit() 3. row("Name") = txtName.Text 4. row("Address") = txtAddress.Text 5. row("Phone") = txtPhone.Text 6. row("Email") = txtEmail.Text 7. row.EndEdit() 8. ‘Update dữ liệu 9. da.Update(dt) 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 * 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 ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 19
  20. ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG 7. 'Nạp command trên vào DataAdapter tùy theo dạng của command là Select, insert, update hay delete 8. da.SelectCommand = command 9. dt.Clear() 'Xóa dữ liệu cũ 10. da.Fill(dt) 11. DataGridView1.DataSource = dt 12. End Sub Ví dụ :Query tính tiền của tất cả các hàng của khách có tên là ABC chẳng hạn Dim dt As New DataTable("tinhtien") Dim da As New OleDbDataAdapter() 1. Private Sub cmdtinhtien_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 5. command.CommandText = "tinhtien" 'Tên của Query 6. da.Fill(dt) 7. End Sub 4 . Các biến và cách khai báo biến trong ADO.Net. Variables và Arrays 1.Variables( biến số): Dùng lưu trữ dữ kiện (data) trong bộ nhớ (memory) của máy vi tính. Ta phải khai báo biến số trước khi dùng từ khoá Dim ví dụ: myVariable với loại (Data Type) String Dim my ariable as string Data Types :(ki ểu dữ liệu ) Type Category MIÊU T Ả 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) ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM 20
nguon tai.lieu . vn