II. NHỮNG TÁC VỤ CƠ BẢN CỦA ASP 1 Một số ứng dụng đơn giản.
2. Một số lệnh SQL cơ bản dùng cho Recordset của ADO.
Trên thực tế, nhiều giao tiếp giữa ASP – ADO và cơ sở dữ liệu được thực hiện nhờ SQL. Trong phần này tôi xin giới thiệu các nguyên tắc cơ bản của quá trình đọc dữ liệu thông qua việc sử dụng các câu lệng của SQL.
SQL (Structured Query Language) là một cách thức giao tiếp với cơ sở dữ liệu. Tức là nó thực hiện các công việc như đọc dữ liệu từ kho dữ liệu, ghi dữ liệu lên kho dữ liệu, thay đổi dữ liệu trong kho mà không đọc dữ liệu ra, thay đổi cấu trúc của kho dữ liệu.
Hầu hết các câu lệng của SQL thuộc ba loại: - Các câu lệnh đọc dữ liệu.
- Các câu lệnh thay đổi dữ liệu, như việc thêm mẩu tin mới.
- Các câu lệnh thay đổi cấu trúc cơ sở dữ liệu. Ví dụ như thêm một trường hay một bảng.
♦ Những quy tắc cú pháp chung cho SQL.
Quy tắc cú pháp chung của SQL là xây dựng một câu lệnh tượng tự như một câu văn tiếng Anh, gồm vài mệnh đề (clause). Mỗi mệnh đề bắt đầu bằng một từ khoá (keyword) SQL và theo sau là các đối số. Các câu lệnh SQL đơn giản nhất sẽ lấy ra tất cả các mẩu tin và tất cả các trường trong một nguồn dữ liệu chẳng hạn như một bảng.
SELECT Fieldslist FROM Source;
Ví dụ: Câu lệnh sau dùng để rút một Recordset chứa tất cảc các mẩu tin và trường trong bảng People:
SELECT * FROM People;
Ta đã có thể mở một Recordset với một dòng như sau: ORS.Open “people”, “DNS=sailor”
Tuy nhiên, Recordset này bao gồm tất cả các mẩu tin và các trường của bảng people, đồng thời chúng không được chọn lọc hay sắp xếp gì cả. SQL có thể khắc phục được nhược điểm này bằng cách sử dụng câu lệnh sau:
ORS.Open “SECLECT * From People;”, “DNS=Sailor” Ví dụ về câu lệnh SQL với RS.Open
<HTML> <HEAD>
<TITLE> Thu nghiem cau lenh SQL voi RS.OPEN</TITLE> </HEAD>
<BODY>
<P>Try it out – using a SQL Statement with RS.Open</P> <%
Dim oRSbc
Set oRSbc =Server.creatÑoect(“ADODB.Recordset”)
ORSbc.Open “SELECT * FROM BoatClass;”, “DSN=Sailor” oRSbc.MoveFirst
Do while NOT oRSbc.EOF
Response.Write oRSbc(“ClassName”) &”,” oRSbc.MoveNext Loop oRSbc.Close Set oRSbc=nothing %> </BODY> </HTML> * Câu lệnh SELECT
Câu lệnh này dùng để thu thập một số mẩu tin cho chúng ta sử dụng nó có dạng:
SELECT <phạm vi> FROM <tên bảng>;
- Phạm vi: có thể là tất cả “*” hoặc một số trường được chỉ ra. - FROM tên bảng: từ bảng cần đọc dữ liệu ra.
Ví dụ:
SELECT * FROM People; Mở tất cả các trường của bảng People. SELECT name, add FROM People; Mở hai trường name và add.
Ngoài ra khi cần thiết ta có thể sử dụng thêm các tuỳ chọn để phục các yêu cầu của mình như:
- Tuỳ chọn ORDER BY: Dùng để sắp xếp dữ liệu theo một quy tắc nhất định. Ví dụ:
SELECT * FROM People ORDER BY Name;
- Tuỳ chọn WHERE: Dùng để giới hạn thông tin phù hợp với một điều kiện nào đó như tuổi lớn hơn 50 hay Quê quán ở Vinh chẳng hạn.
Ví dụ:
SELECT * FROM nhanvien WHERE madonvi= ‘“” & sessison(“Ma”) & “’”; - Tuỳ chọn BETWEEN … AND trong mệnh đề WHERE.
WHERE sẽ trở nên hữu dụng hơn khi chỉ ra một khoảng giá trị. SQL đưa vào các từ khoá Between … and trong mệnh đề Where và chúng được dùng chung với nhau thành một cặp.
Ngoài ra ta cũng có thể dùng thêm một số tuỳ chọn khác khi cần thiết, đó là tuỳ chọn IN, các toán tử lý luận And, Or, Not để bảo đảm tính chính xác và sử dụng trong một số trường hợp nhất định.
* Các lệnh sửa đổi dữ liệu của SQL. + Chèn mẩu tin: lệnh INSERT.
Để thêm các mẩu tin vào bảng, chúng ta phải dùng lệnh INSERT. Lệnh này chỉ được dùng để chèn những hàng mới vào bảng. Khi đã có dữ liệu thì ta có thể sử dụng lệnh UPDATE hoặc lệnh DELETE để thao tác.
Dạng lệnh: Insert into Tablename(column1, column2,…) Value (Value1, value2,…)
Tham số Tablename chỉ định bảng dữ liệu được thêm vào, tham số Column chỉ định các cột mà ta muốn chèn dữ liệu vào. Các tham số Value chỉ định các giá trị dữ liệu mà ta muốn chèn. Dấu câu được dùng với những giá trị này chỉ định kiểu dữ liệu.
+ Cập nhật một mẩu tin: Lệnh UPDATE. Dạng lệnh:
UPDATE Tablename SET Column1=Value1, Column2=Value2, Column3=Value3 WHERE Criteria - Tham số Tablename chỉ định bảng chứa dữ liệu mà ta muốn cập nhật. - Tham số Column chỉ định cột mà ta muốn cập nhật.
- Các tham số Value chỉ định những giá trị dữ liệu mới mà ta sẽ cập nhật và các cột.
- Tham số Criteria chỉ định những dòng được chọn để cập nhật. + Xoá mẩu tin: Lệnh DELETE.
Dạng lệnh:
DELETE Column * FROM Tablename WHERE Criteria
- Tham số Column* chỉ định cột để xoá hoặc dùng kí tự * để xoá tất cả các cột của bảng.
- Tham số Criteria chỉ định những hàng nào được xoá.