Giới thiệu công nghệ lập trình ASP.NET
ASP.NET (Active Server Pages.NET) là một công nghệ, không phải là một ngôn ngữ lập trình, và nó là khung chương trình được xây dựng dựa trên CLR (Common Language Runtime) Công nghệ này cho phép phát triển các ứng dụng web trên máy chủ một cách hiệu quả.
ASP.NET là phiên bản nâng cấp của ASP (Active Server Page), cung cấp nền tảng phát triển ứng dụng chuyên nghiệp với cú pháp tương tự Nó mang đến mô hình lập trình mới, linh hoạt và ổn định, cho phép người dùng dễ dàng nâng cấp ứng dụng ASP hiện có bằng cách tích hợp các hàm của ASP.NET.
ASP.NET là một nền tảng phát triển ứng dụng web được biên dịch dựa trên môi trường NET, cho phép sử dụng nhiều ngôn ngữ lập trình tương thích như Visual Basic.NET, C# và J# Toàn bộ thư viện NET Framework có thể được tích hợp vào ứng dụng ASP.NET, mang lại nhiều tiện ích cho lập trình viên Bên cạnh đó, ASP.NET cung cấp các kỹ thuật tiên tiến như quản lý môi trường thực thi ngôn ngữ với CLR, tính an toàn kiểu (type safety) và kế thừa (inheritance), giúp nâng cao hiệu quả lập trình.
ASP.NET được thiết kế để làm việc với các trình soạn thảo WYSIWYG HTML và các công cụ lập trình tích hợp trong Microsoft Visual Studio.NET Mặc dù các công cụ này không chỉ dành riêng cho phát triển ứng dụng web, nhưng chúng cung cấp nhiều chức năng hữu ích cho việc này Một trong những tính năng nổi bật là giao diện đồ họa cho phép lập trình viên dễ dàng kéo thả các điều khiển máy chủ vào trang web, cùng với trình Debug mạnh mẽ giúp kiểm soát lỗi hiệu quả.
Ưu điểm của ASP.NET
.NET Framework và các ứng dụng của nó đã tạo ra một cuộc cách mạng trong ngành công nghệ thông tin, thay đổi cách lập trình và triển khai mạng trên toàn cầu Điều này mở ra cơ hội mới cho các ngành kỹ thuật và thương mại điện tử, đồng thời định hướng phát triển bền vững cho các ứng dụng quan trọng, giúp việc phát triển và triển khai ứng dụng web trở nên dễ dàng hơn.
ASP.NET không chỉ giới hạn ở VBScript và JavaScript mà còn hỗ trợ hơn 25 ngôn ngữ lập trình, bao gồm VB.NET, C#, J#, và cả các ngôn ngữ như Smalltalk.NET và COBOL.NET Nó hoạt động trong môi trường biên dịch, mang lại hiệu suất cao hơn Hơn nữa, ASP.NET tích hợp linh hoạt với XML (Extensible Markup Language) để truyền tải thông tin qua mạng một cách hiệu quả.
ASP.NET nhanh hơn ASP gấp 5 lần và hỗ trợ cập nhật tự động, giúp dò tìm sự thay đổi và biên dịch các file khi cần thiết Điều này cho phép lưu trữ kết quả biên dịch để phục vụ các yêu cầu tiếp theo, đảm bảo ứng dụng luôn được cập nhật và hoạt động hiệu quả hơn.
ASP.NET có khả năng lưu trữ kết quả chung trong bộ nhớ của trang, giúp đáp ứng cùng một yêu cầu từ nhiều khách hàng khác nhau Điều này không chỉ tiết kiệm thời gian thực hiện mà còn nâng cao hiệu suất, giảm thiểu số lần truy vấn đến cơ sở dữ liệu, vốn tốn nhiều thời gian.
ASP.NET giúp việc triển khai ứng dụng mạng trở nên đơn giản và thuận tiện hơn Giờ đây, việc triển khai toàn bộ ứng dụng chỉ cần sao chép và lưu trữ trên máy chủ, mà không cần phải chạy chương trình, mang lại sự dễ dàng và hiệu quả cho người dùng.
Để đăng ký bất kỳ thành phần nào, bạn có thể sử dụng lệnh "regsrv32" Ngoài ra, khi cần lưu trữ các yếu tố phụ quan trọng cho việc thiết lập hoặc bố trí ứng dụng, chỉ cần lưu chúng vào một tệp XML là đủ.
ASP.NET cho phép ta tự động cập nhật hoá các thành phần đã biên dịch mà không cần phải khởi động lại các Server
ASP.NET có thể chạy song song với ASP ở cùng một Internet Information Server (IIS) trong nền Windows XP hay Windows 2000 các ứng dụng mới.
Mô hình phát triển ứng dụng ASP.NET 2.0
Khi phát triển ứng dụng Web bằng ASP.NET, có nhiều lựa chọn cho môi trường lập trình, và trong bài viết này, chúng ta sẽ sử dụng ngôn ngữ lập trình C#.
Visual Studio 2005 cung cấp các công cụ mạnh mẽ như tiện ích gỡ lỗi và gợi ý cú pháp, giúp người dùng dễ dàng phát triển và khai báo từ khóa trong quá trình lập trình.
Hình 1: Cửa sổ lập trình ch-ơng trình Visual Studio 2005
Visual Studio 2005 hỗ trợ mô hình code-behind, cho phép tách biệt mã và giao diện thành hai phần riêng lẻ, giúp việc phát triển và quản lý trở nên dễ dàng hơn.
Chẳng hạn phần code-behind trong phần này của trang Default.aspx nh- sau:
Hình 2: Cửa sổ giao diện trang Default.aspx.cs
Trong khi đó tập tin ứng dụng với phần khai báo giao diện của trang
Default.aspx sẽ có cấu trúc nh- sau:
Cửa sổ giao diện trang Default.aspx Đối với trang Default.aspx thì tập tin giao diện có thể kích hoạt phần mã nh- sau :
Hình 3: Giao diện chung của ch-ơng trình Visual Studio 2005 khi tạo một Web
Ta có thể chuyển sang màn hình thiết kế bằng cách cho nút Design bên cạnh nút Source
Tạo một Website
CLR (Common Language Runtime)
CLR là môi trường quản lý việc thực thi mã nguồn đã biên dịch trong các ứng dụng Khi biên dịch, mã nguồn được chuyển đổi thành ngôn ngữ trung gian Microsoft Intermediate Language (MSIL), ngôn ngữ chung cho tất cả các ngôn ngữ NET, bao gồm cả ASP.NET Quá trình biên dịch cũng tạo ra thông tin metadata Khi ứng dụng chạy, CLR sẽ biên dịch lại mã nguồn thành ngôn ngữ gốc của máy tính, giúp ứng dụng thực thi hiệu quả.
Thư viện lớp NET Framework là một tập hợp các kiểu dữ liệu có thể tái sử dụng, được tích hợp chặt chẽ với Common Language Runtime (CLR) Thư viện lớp theo hướng đối tượng cung cấp những kiểu dữ liệu mà mã nguồn được quản lý có thể dẫn xuất, giúp người dùng dễ dàng tiếp cận và giảm thiểu thời gian học tập các đặc tính mới của NET Framework.
.NET Framework là nền tảng tính toán giúp đơn giản hóa và hiện đại hóa quy trình phát triển ứng dụng trên Web cũng như ứng dụng Windows Form.
- NET Framework chính là nền móng cơ bản để bắt đầu xây dựng ứng dụng của chúng ta
- Nó cung cấp cho các ứng dụng Web, chấp nhận các chuẩn mở nh- XML, HTTP và Soap
- Cung cấp một số công nghệ phát triển ứng dụng mạnh và rất phong phú, nh- Windows Form, dùng để xây dựng các ứng dụng web
Thư viện lớp đa dạng cung cấp hỗ trợ mạnh mẽ cho việc truy cập dữ liệu, bao gồm cả dữ liệu quan hệ và XML, cũng như các dịch vụ thư mục và lập hàng đợi tin nhắn Ngoài ra, lớp cơ sở của thư viện chứa hàng trăm nghìn lớp để thực hiện các tác vụ chung một cách hiệu quả.
- Là lớp trung gian giữa các ngôn ngữ do đó ta có thể dùng bất kỳ ngôn ngữ gì để viết
- Cho phép dùng COM hoặc DLL chuẩn
- Các ứng dụng khi viết dựa trên NET Framework thì có tính bảo mật cao và t-ơng thích trên nhiều hệ điều hành khác nhau
- Cung cấp một môi tr-ờng lập trình h-ớng đối t-ợng tốt nhất, giúp đơn giản hóa quá trình xây dựng, phân phối và bảo trì ứng dụng
.NET Framework cung cấp một môi trường thực thi mạnh mẽ với bộ lớp và thành phần hướng đối tượng, giúp phát triển ứng dụng hiệu quả hơn trên hệ điều hành Nó tích hợp cơ chế tự động thu gom rác bộ nhớ và cung cấp các đối tượng với đầy đủ chức năng cho các tác vụ lập trình thông thường Ngoài ra, NET Framework hỗ trợ đa ngôn ngữ và đảm bảo an toàn cho mã thực thi của chương trình.
Mọi mã lệnh viết bằng các ngôn ngữ lập trình thuộc NET đều được NET Framework biên dịch thành ngôn ngữ trung gian IL (Intermediate Language) Sau đó, NET Framework tiếp tục biên dịch IL thành mã nhị phân để tạo ra ứng dụng Khi mã nguồn có sự thay đổi, mã IL của trang ASP.NET sẽ được biên dịch lại để thay thế các trang cũ còn lưu trữ trong vùng đệm.
- Tăng tính mềm dẻo và khả năng uyển chuyển cho các ứng dụng phân tán
Môi trường NET Framework cung cấp chức năng tự động kiểm tra lỗi và phát hiện tình trạng quá tải Nó có khả năng khởi động lại và tái tạo các ứng dụng cùng với các thành phần đối tượng, đảm bảo khả năng phục vụ tối ưu cho các kết nối.
Bảo vệ phần mềm hiện nay và giảm thiểu chi phí đào tạo là rất quan trọng Dù có sự thay đổi lớn trong hệ điều hành và môi trường thực thi, NET Framework vẫn tập trung vào tính tương thích với các phiên bản của DOM, DCOM, ASP, giúp đảm bảo sự ổn định và hiệu quả trong phát triển ứng dụng.
- NET Framework cung cấp các th- viện lập trình phong phú và thống nhÊt.
Kiến trúc của ADO.NET
KiÕn tróc ADO.NET cã 2 phÇn:
Phần kết nối là yếu tố quan trọng khi kết nối với cơ sở dữ liệu và thực hiện thao tác dữ liệu Để thao tác hiệu quả, cần thiết phải thiết lập kết nối với cơ sở dữ liệu Các đối tượng trong phần này đóng vai trò then chốt trong quá trình xử lý dữ liệu.
In database management, establishing connections is essential for opening and closing links to the database There are two types of connections based on the data source: OleDbConnection for OleDb data sources and SqlConnection for SQL Server data sources.
Command là đối tượng thực hiện các câu lệnh tương tác truy vấn và rút trích dữ liệu từ cơ sở dữ liệu sau khi đã thiết lập kết nối Tương tự như Connection, Command cũng có hai dạng tùy theo nguồn dữ liệu, bao gồm OleDbCommand cho OleDb và SqlCommand cho SQL Server.
DataReader là một đối tượng dùng để xử lý việc đọc dữ liệu, được thiết kế đặc biệt cho các ứng dụng web Nó chỉ xử lý một dòng dữ liệu tại một thời điểm, giúp tăng tốc độ và giảm thiểu mức tiêu thụ bộ nhớ DataReader có hai dạng tùy thuộc vào nguồn dữ liệu: OleDbDataReader và SqlDataReader Dữ liệu của đối tượng này được tạo ra khi đối tượng Command thực hiện câu lệnh ExecuteReader().
DataAdapter là một đối tượng quan trọng trong ADO.NET, đóng vai trò là cầu nối giữa database và dataset Do dataset là đối tượng ngắt kết nối, nó không thể giao tiếp trực tiếp với database, vì vậy cần có DataAdapter làm trung gian để lấy dữ liệu Mặc dù DataAdapter cần duy trì kết nối khi thao tác với database, nhưng chức năng chính của nó là phục vụ cho việc ngắt kết nối.
DataSet là đối tượng duy nhất chịu trách nhiệm ngắt kết nối trong ADO.NET, không cần biết về loại Database hay cách kết nối Nhiệm vụ của DataSet là nhận và xử lý dữ liệu từ DataAdapter, có thể coi như một Database trong bộ nhớ với tất cả các bảng và quan hệ DataSet bao gồm nhiều đối tượng con như DataTable (tương đương với bảng), DataRow (dòng), DataColumn (cột) và DataRelation (quan hệ) Ngoài ra, còn có các đối tượng nhóm như DataTableCollection, DataRowCollection, và DataColumnCollection Mặc dù DataSet là một cải tiến lớn trong kiến trúc ADO.NET, nhưng không được khuyến khích sử dụng trong các ứng dụng Web do kích thước lớn và nặng nề, không phù hợp với băng thông hạn chế của web.
Mô hình Client/Server cho phép ứng dụng Client duy trì kết nối liên tục với thành phần server Ngoài việc gửi và nhận dữ liệu, Client còn thực hiện các truy vấn định kỳ để đảm bảo kết nối vẫn hoạt động Khi server bị đóng, Client sẽ phát hiện và thực hiện các thao tác cần thiết, chẳng hạn như gửi thông báo đến người dùng.
Khi xây dựng ứng dụng Web, cần chú ý không chỉ đến thời gian tồn tại của server mà còn đến kết nối Internet Khi trình duyệt yêu cầu một trang Web, server sẽ ghi nhận và gửi thông tin mà không kiểm tra các thành phần như hình ảnh hay âm thanh Để server và trình duyệt có thể giao tiếp hiệu quả, việc sử dụng các ngôn ngữ lập trình như HTML, PHP, ASP và JAVA là rất quan trọng.
WEB BROWSER (Internet Explorer, Netscape)
ASP.NET không phải là một ngôn ngữ lập trình mà là một công nghệ giúp tổ chức dữ liệu ứng dụng web một cách tối ưu Nó tương thích với nhiều ngôn ngữ lập trình khác nhau, bao gồm Visual Basic.NET và C# Do đó, người phát triển có thể lựa chọn một hoặc nhiều ngôn ngữ để xây dựng ứng dụng web.
Lý do sử dụng ngôn ngữ C#:
C# là một ngôn ngữ lập trình hướng đối tượng, nổi bật với ba đặc điểm chính: sự đóng gói, kế thừa và đa hình Ngôn ngữ này hỗ trợ đầy đủ các tính năng trên, giúp lập trình viên xây dựng các ứng dụng mạnh mẽ và linh hoạt.
- Tất cả các ph-ơng thức và sự kiện trong C# đ-ợc chứa trong khai báo: cấu trúc (struct) hoặc lớp (class)
- Ngôn ngữ C# sử dụng ít từ khóa (khoảng 80 từ khóa) và một số kiểu dữ liệu đ-ợc dựng sẵn
- Dựa trên nền tảng của C, C++ và Java
- Có những đặc tính: thu gom bộ nhớ tự động, các kiểu dữ liệu mở rộng, bảo mật mã nguồn…
1.9.1 Đặc tr-ng của ngôn ngữ SQL
SQL (Structured Query Language) là ngôn ngữ quản trị cơ sở dữ liệu, cho phép trao đổi dữ liệu giữa máy tính Client và máy chủ SQL Server Transact-SQL là phiên bản mở rộng của SQL, dựa trên tiêu chuẩn của ANSI và ISO Với nhu cầu ngày càng tăng về cơ sở dữ liệu lớn theo mô hình Client/Server, SQL trở nên phổ biến hơn Trong mô hình này, dữ liệu được lưu trữ tập trung trên máy chủ, và mọi thao tác xử lý dữ liệu diễn ra tại đó thông qua các lệnh SQL Máy trạm chỉ thực hiện việc cập nhật hoặc truy xuất thông tin từ máy chủ SQL cũng hỗ trợ tạo ra các trang web động, kết nối cơ sở dữ liệu với trang web để hiển thị thông tin theo yêu cầu của người dùng SQL làm việc với dữ liệu có cấu trúc bảng và có khả năng phân tích, xử lý và sửa đổi cấu trúc bảng Các câu lệnh SQL, hay còn gọi là Query, cho phép kết nối và truy vấn thông tin từ các cơ sở dữ liệu khác Một số công cụ chính của SQL giúp đáp ứng nhu cầu cập nhật và phân tích dữ liệu từ các bảng một cách hiệu quả.
+ Cập nhật, xóa các bảng ghi trên toàn bảng theo những điều kiện khác nhau
+ Kết nối dữ liệu trên máy chủ (Server) Khi dữ liệu đ-ợc tập trung trên máy chúng ta phải dùng lệnh SQL để xâm nhập vào bên trong máy
Kết hợp các trang web với cơ sở dữ liệu thông qua lệnh SQL là một quá trình quan trọng Tất cả các chức năng của SQL có thể được thực hiện bằng nhiều công cụ khác nhau trong phần mềm hỗ trợ SQL.
+ Câu lệnh đơn giản, dễ nhớ, dễ sử dụng và rất ngắn gọn
+ Khả năng thực hiện những yêu cầu phức tạp của công việc…
* Tạo bảng dùng Enterprise Manager:
+ Khởi động Enterprise Manager, mở rộng nhóm MyGroup, mở rộng tên server cục bộ của máy tính
+ Mở rộng danh mục Database, mở rộng cơ sở dữ liệu MyDB, bấm phải chuột lên danh mục Table, chọn New Table từ trình đơn tắt vừa xuất hiện
Màn hình tạo bảng cơ sở dữ liệu trong SQL Server 2000
+ Nhập các thông tin cần thiết để tạo bảng
+ Bấm nút Save (hình đĩa mềm) để l-u vào bảng vừa tạo Bảng dữ liệu mới tạo xuất hiện bên vùng cửa số bên phải của Enterprise Manager
Để tạo bảng bằng T-SQL, bạn cần khởi động Query Analyzer, sau đó nhập lệnh vào khu vực bên phải của cửa sổ Cuối cùng, nhấn F5 hoặc nút Execute Query để thực thi lệnh tạo bảng.
(