Đâ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.
Đỗ Thị Hạnh 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. 1 | P a g e Đỗ Thị Hạ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. 2 | P a g e Đỗ Thị Hạ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. 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 3 | P a g e Đỗ Thị Hạnh 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) 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 4 | P a g e Đỗ Thị Hạnh ứ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 EnterpriseServer 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 5 | P a g e Đỗ Thị Hạnh 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 .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ữ 6 | P a g e Đỗ Thị Hạnh 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 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). 7 | P a g e Đỗ Thị Hạnh 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 8 | P a g e Đỗ Thị Hạnh 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: .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. 9 | P a g e Đỗ Thị Hạnh 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++. 10 | P a g e [...]... 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... 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 17 | P a g e Đỗ Thị Hạnh 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... 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... kiểm tra từng bước một các nguồn mã trong dự án (project) 13 | P a g e Đỗ Thị Hạnh 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 3.2 Thanh công... 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... đổi trên vào file data nguồn 6 Dim commandDelete As New OleDbCommand() 7 commandDelete.Connection = con 25 | P a g e Đỗ Thị Hạnh 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. .. 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 3.3 Hộp công cụ (Toolbox)... 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) 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... đổ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.3Select 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... 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 . 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 17 | P a g e Đỗ Thị Hạnh 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 .) . 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,. 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