Giáo trình Mô đun Lập trình Web - Lập trình máy tính

Cơ bản về HTML

a.Tag cấu trúc

HTML bao gồm 3 tag để xác định cấu trúc của trang web bao gồm:

b.Tag định dạng văn bản

Mặc dù có rất nhiều tag để định dạng văn bản, những tag sau đây là những tag cơ bản nhất mà gần như bất cứ một trang web nào cũng phải sử dụng:

: bắt đầu một đoạn văn bản mới
: xuống dòng

,

, : đặt dòng văn bản nằm trong cặp tag là tiêu đề (heading).

c.Tag ghi chú

Cũng như các ngôn ngữ lập trình, để cho phép người viết trang web đặt những ghi chú dành riêng cho mình vào trong trang web, HTML cung cấp tag ghi chú. Đây là tag đặc biệt so với những tag khác:

d.Định dạng kiểu chữ

Trong các tài liệu, văn bản chúng ta thường sử dụng các kiểu chữ đậm, nghiêng, gạch dưới, ví dụ sau minh hoạ các tag được dùng định dạng kiểu chữ:

In đậm

In rất đậm

chữ lớn
nhấn mạnh

in nghiêng

 

Giáo trình Mô đun Lập trình Web - Lập trình máy tính trang 1

Trang 1

Giáo trình Mô đun Lập trình Web - Lập trình máy tính trang 2

Trang 2

Giáo trình Mô đun Lập trình Web - Lập trình máy tính trang 3

Trang 3

Giáo trình Mô đun Lập trình Web - Lập trình máy tính trang 4

Trang 4

Giáo trình Mô đun Lập trình Web - Lập trình máy tính trang 5

Trang 5

Giáo trình Mô đun Lập trình Web - Lập trình máy tính trang 6

Trang 6

Giáo trình Mô đun Lập trình Web - Lập trình máy tính trang 7

Trang 7

Giáo trình Mô đun Lập trình Web - Lập trình máy tính trang 8

Trang 8

Giáo trình Mô đun Lập trình Web - Lập trình máy tính trang 9

Trang 9

Giáo trình Mô đun Lập trình Web - Lập trình máy tính trang 10

Trang 10

Tải về để xem bản đầy đủ

docx 55 trang duykhanh 6880
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Mô đun Lập trình Web - Lập trình máy tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Mô đun Lập trình Web - Lập trình máy tính

Giáo trình Mô đun Lập trình Web - Lập trình máy tính
uy vấn (tiếng Anh: query optimizer) sẽ dịch từ câu truy vấn sang kế hoạch truy vấn tối ưu.
Những từ khóa liên quan tới SELECT bao gồm:
FROM dùng để chỉ định dữ liệu sẽ được lấy ra từ những bảng nào, và các bảng đó quan hệ với nhau như thế nào.
WHERE điều kiện để liên kết các bảng hoặc điều kiện để lấy những thuộc tính từ bảng from.
GROUP BY dùng để kết hợp các bản ghi có những giá trị liên quan với nhau thành các phần tử của một tập hợp nhỏ hơn các bản ghi.
HAVING dùng để xác định những bản ghi nào, là kết quả từ từ khóa GROUP BY, sẽ được lấy ra.
ORDER BY dùng để xác định dữ liệu lấy ra sẽ được sắp xếp theo những cột nào.
Bài 5. TRUY CẬP VÀ XỬ LÝ CƠ SƠ DỮ LIỆU VỚI.NET
Mã bài: MĐ26-B05
Mục tiêu
Sử dụng các đối tượng ADO để thực hiện các thao tác tìm kiếm, thêm, sửa, xóa các bản ghi trong cơ sở dữ liệu.
Nội dung chính:
1. Tổng quan về ADO.NET
Giống như hầu hết các thành phần của .NET Framework, ADO.NET không chỉ là vỏ bọc của một vài API sẵn có. 
Nó chỉ giống ADO ở cái tên - các lớp và phương thức truy xuất dữ liệu đều khác hoàn toàn. 
ADO (Microsoft's ActiveX Data Objects) là một thư viên của các thành phần COM đã từng được ca ngợi trong một vài năm trở lại đây. Phiên bản hiện tại là 2.7, các thành phần chủ yếu của ADO là Connection, Command, Recordset, và các Field object. Một connection có thể mở cơ sở dữ liệu, một vài dữ liệu được chọn vào một recordset, bao gồm các trường, dữ liệu này sau đó có thể thao tác, cập nhập lên server, và connection cần phải được đóng lại. ADO cũng giới thiệu một disconnected recordset, cái được dùng khi không muốn giữ kếp nối trong một thời gian dài.
Có một vài vấn đề với ADO đó là sự không hài lòng về địa chỉ, sự cồng kềnh của một disconnected recordset. Hỗ trợ này không cần thiết với sự tiến hoá của tin học "web-centric", vì vậy nó cần được loại bỏ. Có một số giống nhau giữa lập trình ADO.NET và ADO (không phải ở cái tên), vì thế việc chuyển từ ADO không qua khó khăn. Hơn thế nữa, nếu bạn dùng SQL Server, có một bộ các quản mới rất tuyệt cho viêc thao tác bên ngoài cơ sở dữ liệu. Chừng đó lí do cũng đủ để các bạn quan tâm đến ADO.NET. 
ADO.NET chứa hai không gian tên cơ sơ dữ liệu - một cho SQL Server, và một cái khác cho các cơ sở dữ liệu được trình bày thông qua một giao diện OLE DB. Nếu cơ sở dữ liệu của bạn chọn là một bộ phận của OLE DB, bạn có thể dễ dàng kết nối với nó từ .NET - chỉ cần dùng các lớp OLE DB và kết nối thông qua các driver cơ sở dữ liêu hiện hành của bạn. 
Các Namespace 
Tất cả các ví dụ trong chương này truy xuất dữ liệu trong một vài cách. Các không gian tên sau chỉ ra các lớp và các giao diện được dùng cho việc truy xuất dữ liệu trong .NET: 
- System.Data - Các lớp truy xuất dữ liệu chung; 
- System.Data.Common - Các lớp dùng chung bởi các data provider 
khác nhau;
- System.Data.OleDb - Các lớp của OLE DB provider; 
- System.Data.SqlClient - Các lớp của SQL Server provider; 
- System.Data.SqlTypes - Cac kiểu của SQL Server; 
- Các lớp chính trong ADO.NET được liệt kê dưới đây: 
+ Các lớp dùng chung; 
+ ADO.NET chứa một số lớp được dùng không quan tâm là bạn đang dung các lớp của SQL Server hay là các lớp của OLE DB. 
Các lớp trong không gian tên System.Data được liệt kê sau đây: 
+ DataSet - Đối tượng này chứa một bộ các DataTable, có thể bao gồm quan hệ giữa các bảng, và nó được thiết kế cho truy xuất dữ liệu không kết nối. 
+ DataTable - Một kho chứa dữ liệu. Một DataTable bao gồm một hoặc nhiều DataColumns, và khi được tạo ra nó sẽ có một hoặc nhiều DataRows chứa dữ liệu;
+ DataRow - Một bộ giá trị, có bà con với một dòng trong bảng cơ sở dữ liệu, hoặc một dòng của bảng tính;
+ DataColumn - Chứa cá định nghĩa của một cột, chẳng hạn như tên và kiểu dữ liệu;
+ DataRelation - Một liên kết giữa hai DataTable trong một DataSet. Sử dụng cho khóa ngoại và các mối quan hệ chủ tớ;
+ Constraint - Định nghĩa một qui tắt cho một DataColumn (hoặc môt bộ các cột dữ liệu), như các giá trị là độc nhất;
Sau đây là hai lớp được tìm thấy trong không gian tên System.Data.Common: 
- DataColumnMapping - Ánh xạ tên của một cột từ cơ sở dữ liệu vào 
tên của một cột trong một DataTable. 
- DataTableMapping - Ánh xạ tên của một bảng từ cơ sở dữ liệu vào 
một bảng trong một DataSet.
2. Phương thức của đối tượng Connection
2.1. .NET Data Providers 
.NET Data Providers là một tập các đối tượng phục vụ cho việc trao đổi dữ liệu giữa Data Source (dữ liệu nguồn) và đối tượng DataSet. Nó chia ra gồm 2 loại tập đối tượng: 1 tập các đối tượng chịu trách nhiệm quản lý các kết nối (connections) tới DataSource (dữ liệu nguồn) và 1 tập các đối tượng còn lại chịu trách nhiệm xử lý dữ liệu. 
ADO.NET cung cấp 2 loại .NET Data Providers đó là SQL Server .NET Data Provider và OLE DB .NET Data Provider. SQL Server .NET Data Provider sử dụng truy xuất Database SQL Server 7.0 trở về sau. Còn OLE DB .NET Data Provider sử dụng cho phiên bản 6.5 trở về trước và các loại Database khác (vd như Access, Oracle). SQL Server .NET Data Provider hoạt động hiệu quả hơn bởi vì nó thao tác trực tiếp với SQL Server mà không cần phải thông qua OLE DB Provider. 
Để sử dụng 2 loại .NET Data Provider này ta phải import 2 Namespace: System.Data.SqlClient cho SQL Server .NET Data Provider và System.Data.OleDb cho OLE DB Data Provider. 
2) Đối tượng Connection
Đối tượng Connection là đối tượng chịu trách nhiệm quản lý kết nối tới nguồn dữ liệu (DataSource). Có 2 dạng Connection tương ứng với 2 kiểu dữ liệu SQL Server và OLE DB đó là: SqlConnection và OleDbConnection. Cả 2 đối tượng này đều implement từ interface IDbConnection. Bằng cách sử dụng Interface IDbConnection, các nhà cung cấp dịch vụ Database khác nhau có thể tạo ra các cài đặt phù hợp cho Database riêng của họ. 
Đối tượng Connection của ADO.NET chỉ nhận một tham số đầu vào là chuỗi kết nối (connection string). Trong chuỗi kết nối, các thông số được cách nhau bằng dấu “;”, connection string có các thông số sau : 
- Provider: Tên nhà cung cấp Database, đối với OLEDB cần khai báo là SQLOLEDB. Đối với SQL Server thì không thuộc tính này. 
- DataSource (hoặc Server): tên/địa chỉ database server cần kết nối tới. 
- Initial catalog (hoặc Database): tên của Database cần truy xuất. 
- Uid: username để đăng nhập vào Database Server. 
- Pwd: password để đăng nhập vào Database Server. 
Sau đây là vd về 1 chuỗi kết nối đối với Database dạng OLE DB:
Provider=SQLOLEDB.1;Data Source=MySQL; Initial Catalog=NorthWind; uid=sa; pwd=sa;
Còn đây là vd về 1 chuỗi kết nối đối với Database dạng SQL Server: 
Server=CSC; database=Northwind; uid=sa;pwd=sa;
Sau đây là các thuộc tính, phương thức, sự kiện thông dụng của cả SqlConnection và OleDbConnection
3. Đối tượng SqlCommand
Sau khi chúng ta đã kết nối vào nguồn dữ liệu, chúng ta cần phải thực hiện thao tác các dữ liệu. Để thao tác được với các dữ liệu chúng ta phải dùng đối tượng Command. Đối tượng Command là đối tượng rất “đa năng”, nó vừa xử lý được sqlserver stored procedures vừa xử lý được các giao tác (transaction). Tương tự như đối tượng Connection, đối tượng Command cũng chia ra làm 2 loại tuỳ theo nguồn dữ liệu: SqlCommand (cho SQL Server) và OleDbCommand (cho OLE DB). 
Một số thuộc tính và phương thức thông dụng của đối tượng Command: 
Thuộc tính: 
- CommandText: Thiết lập/ Lấy lệnh thao tác với dữ liệu. 
- CommandTimeout : Thiết lập/ Lấy thời gian chờ thực hiện lệnh. Sau khi chờ 1 khoảng thời gian nếu vượt quá sẽ báo lỗi. 
- CommandType : Thiết lập/ Lấy kiểu của đối tượng lệnh (lệnh trực tiếp, stored procedure) 
- Parameters: Các tham số truyền vào cho đối tượng command (ở kiểu OleDbParameterCollection/ SQLParameterCollection). 
- Connection : Thiết lập / lấy kết nối đang được đối tượng Command sử dụng. 
- Transaction: Thiết lập / lấy giao tác mà đối tượng Command thực thi. 
3.1. Phương thức: 
- ExecuteReader: Thực thi câu lệnh CommandText của đối tượng Command và trả về kiểu DataReader (OleDbDataReader / SqlDataReader). 
- ExecuteNonQuery: Thực thi câu lệnh CommandText của đối tượng Command, đây là dạng câu lệnh cập nhật cơ sở dữ liệu (xoá/sửa) nên chỉ trả về số dòng bị ảnh hưởng mà không trả về dòng dữ liệu nào. 
- ExecuteScalar: Thực thi câu truy vấn của đối tượng Command và chỉ trả về cột đầu tiên của dòng đầu tiên của kết quả. Các kết quả còn lại bị bỏ qua. 
- Các hàm khởi tạo của đối tượng SqlCommand (Tương tự cho đối tượng OleDbCommand): 
o New() : không có tham số nào. 
o New(cmdText as String) ,trong đó : 
cmdText là câu lệnh truyền vào cho đối tượng Command. 
o New(cmdText as String, connectin as SqlConnection), trong đó: 
cmdText như trên. 
connection là đối tượng kết nối truyền vào cho đối tượng Command. 
o New(cmdText as String, connection as SqlConnection, transaction as SqlTransaction), trong đó : 
cmdText, connnection như trên. 
Transaction: là giao tác truyền cho đối tượng Command. § 
Các ví dụ: 
- Sử dụng câu lệnh ExecuteNonQuery để update dữ liệu: \
Dim connStr As String = "server=CSC;database=Northwind;uid=sa;pwd=sa" 
Dim cmdStr As String = "Update Customers set CompanyName='CSC' where CustomerID='Seves'" Dim conn As New SqlConnection(connStr) 
conn.Open()
Dim cmd As SqlCommand = New SqlCommand(cmdStr, conn) 
cmd.ExecuteNonQuery()
conn.Close()
- Sử dụng câu lệnh ExecuteReader để lấy dữ liệu:
Dim conn As New SqlConnection("server=CSC; database=Northwind;uid=sa; pwd=sa")
Dim cmd As New SqlCommand("Select * From Customers", conn)
conn.Open()
Dim rdr As SqlDataReader = cmd.ExecuteReader()
While rdr.Read()
Response.Write(rdr.GetString(0) + "") 
End While
rdr.Close()
- Sử dụng câu lệnh ExecuteScalar để lấy dữ liệu: 
Dim conn As New SqlConnection("server=CSC; database=Northwind2;uid=sa; pwd=sa")
conn.Open()
Dim cmdStr As String = "Select * From Customers"
Dim cmd As SqlCommand = New SqlCommand(cmdStr, conn)
Response.Write(cmd.ExecuteScalar())
conn.Close()
3.2. Về khái niệm Connection Pooling 
Trong ứng dụng web ASP.NET, Connection Pooling là khái niệm nhiều người dùng cùng truy xuất vào cùng 1 database để lấy về cùng một loại dữ liệu. 
ADO.NET cho phép quản lý Connection Pooling theo nhiều cách khác nhau. Nếu database đang sử dụng là dạng OLEDB thì connection pooling do chính Provider của Database đó quản lý, vì vậy chúng ta không cần phải quản lý. Trong trường hợp sử dụng database SQL Server thì Connection Pooling sẽ được quản lý một cách không tường minh nhưng cũng cho phép thiết lập những tuỳ chọn để chúng ta tự quản lý. Các thuộc tính để quản lý Pooling (thiết lập trong Connection String) là : Max Pool Size (số connection tối đa trong pool, Min Pool Size : số connection tối thiểu trong pool).
Khi 1 connection được “open” có 2 tình huống : nếu đã open rồi thì connection đó đã nằm trong pool và được “lấy ra”, nếu chưa có trong pool thì sẽ được thêm vào pool. Khi đóng connection thì tất là nó sẽ được trả về pool.
3.3 Xử lý các ngoại lệ ADO.NET
Để bắt lỗi trong 1 chương .NET thông thường thì ta dùng cú pháp trycatch thông thường . Đối với chương trình ADO.NET có lớp chịu trách nhiệm xử lý các ngoại lệ là SqlException (cho CSDL SQL Server) và OleDbException (cho CSDL OleDB). 
Ví dụ về xử lý ngoại lệ trong SQL Server
Dim connString As String = "server=CSC;database=Northwind;uid=sa;pwd=sa"
Dim conn As SqlConnection = New SqlConnection(connString)
Try
conn.Open()
Catch ex As SqlException
Response.Write(ex.ToString())
End Try
Bài 6. CÁC ĐIỀU KHIỂN LIÊN KẾT DỮ LIỆU
Mã bài: MĐ26-B06
Mục tiêu
Kết nối cơ sở dữ liệu
Sử dụng các điều khiển liên kết dữ liệu để hiển thị dữ liệu lên trình duyệt
Sử dụng các đối tượng connection để thực hiện các thao tác tìm kiếm, thêm, sửa, xóa các bản ghi trong cơ sở dữ liệu.
Nội dung chính:
1. Điều khiển DataGrid
DataGrid là một điều khiển khá linh hoạt và hiệu quả trong việc hiển thị, định dạng và thao tác với dữ liệu. Bên cạnh đó, chúng ta có thể thực hiện sắp xếp dữ liệu, thực hiện phân trang với sự hỗ trợ khá tốt của VS .Net trong quá trình thiết kế.
1.1.Các thao tác định dạng lưới
Để thực hiện các thao tác định dạng, chúng ta chọn chức năng Property Builder từ thực đơn ngữ cảnh.
1.2.Trang General
Trong trang này, có các mục chọn sau:
Show header: Qui định dòng tiêu đề trên có được phép hiển thị hay không. (mặc định là có hiển thị dòng tiêu đề)
Show footer: Qui định dòng tiêu đề dưới có được phép hiển thị hay không. (mặc định là không hiển thị dòng tiêu đề dưới)
Allow sorting: Có cho phép sắp xếp dữ liệu hay không. (mặc định là không cho phép sắp xếp)
Các mục chọn trong Tab General
1.3.	Trang Columns (Quản lý thông tin các cột)
Trang Columns quản lý thông tin các cột sẽ hiển thị trên lưới.
Create columns automatically at runtime: Khi chọn chức năng này, DataGrid sẽ tự động phát sinh đầy đủ các cột có trong nguồn dữ liệu. Nếu chúng ta muốn qui định các cột cần hiển thị, chúng ta không chọn chức năng này.
Column list: Qui định các cột được hiển thị trong lưới.
Bound Column: Cột có liên kết với nguồn dữ liệu.
Button Column: Cột dạng nút lệnh đã được thiết kế sẵn. Điều khiển DataGrid cung cấp cho chúng ta 3 loại cột dạng này:
Select: Nút lệnh chọn dòng dữ liệu
	Edit, Cancel, Update: Các nút lệnh hỗ trợ chức năng cập nhật dữ liệu trực tiếp trên lưới.
Delete: Nút lệnh xóa dòng dữ liệu
Chúng ta sẽ có dịp tìm hiểu kỹ hơn về các nút lệnh này trong phần Cập nhật dữ liệu trực tiếp trên lưới.
Hyperlink Column: Cột có liên kết dữ liệu dạng liên kết.
Template Column: Cột do người dùng tự thiết kế. Đây là loại cột có khả năng làm việc khá linh hoạt.
2. Điều khiển DataList 
2.1. Sử dụng DataList để hiển thị dữ liệu
Như điều khiển DataGrid, điều khiển DataList được sử dụng để hiển thị dữ liệu. Tuy nhiên, đối với DataList, chúng ta phải tự thiết kế hình thức hiển thị dữ liệu (giống như Template Column của DataGrid).
Một số thuộc tính cần chú ý của DataListepeatDirection: Qui định hướng hiển thị dữ liệu Horizontal: Hiển thị dữ liệu theo chiều ngang
RepeatDirection = Horizontal
Vertical (mặc định): Hiển thị dữ liệu theo chiều đứng
2.2. Cập nhật dữ liệu với DataList
Ngoài việc hiển thị dữ liệu, DataList cũng hỗ trợ các thao tác cập nhật dữ liệu. Để thực hiện chức năng cập nhật dữ liệu với DataList, chúng ta cần phải thiết kế thêm vùng EditIemTemplate cho DataList. (xem hình)
3. Điều khiển Repeater 
Như 2 điều khiển DataList & DataGrid, điều khiển Repeater cũng được dùng để hiển thị dữ liệu. Tuy nhiên, để hiển thị dữ liệu, chúng ta phải tự thiết kế hình thức hiển thị thông qua các tag HTML. Điều khiển Repeater có các tag sau:
 (tùy chọn)
Qui định hình thức hiển thị cho tiêu đề. (Chỉ xuất hiện 1 lần, phía trên của điều khiển)
 (Bắt buộc phải có)
Qui định hình thức hiển thị cho các mục dữ liệu trong điều khiển.
 (tùy chọn)
Qui định hình thức hiển thị cho các mục dữ liệu trong điều khiển. Nội dung được qui định trong cặp tag này sẽ hiển thị xen kẽ với các nội dung trong cặp tag 
 (tùy chọn) Qui định hình thức hiển thị giữa các dòng dữ liệu
 (tùy chọn)
Qui định hình thức hiển thị cho tiêu đề dưới. (Chỉ xuất hiện 1 lần, phía dưới của điều khiển)

File đính kèm:

  • docxgiao_trinh_mo_dun_lap_trinh_web_lap_trinh_may_tinh.docx