Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
851,89 KB
Nội dung
ỦY BAN NHÂN DÂN TỈNH BR – VT TRƯỜNG CAO ĐẲNG NGHỀ GIÁO TRÌNH MƠ ĐUN HỆ QUẢN TRỊ CSDL MS SQL SERVER TRÌNH ĐỘ CAO ĐẲNG NGHỀ Ban hành kèm theo Quyết định số: /QĐ-CĐN… ngày…….tháng….năm ………… Hiệu trưởng trường Cao đẳng nghề tỉnh BR - VT Bà Rịa – Vũng Tàu, năm 2015 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Công nghệ thông tin ngày phát triển nhập vào nhiều lĩnh vực sống Song song với phát triển đó, nhu cầu quản lý liệu ngày chặt chẽ Microsoft® SQL Server™ ví trái tim tảng liệu toàn diện, cho phép bạn truy cập gia cơng liệu cho doanh nghiệp từ thiết bị khác nhau, tảng dịch vụ liệu doanh nghiệp Vì tác giả biên soạn giáo trình Hệ quản trị CSDL MS SQL Server dùng cho học sinh cao đẳng nghề, ngồi cịn sách tham khảo nhiều độc giả muốn tìm hiểu SQL Server Mục đích giáo trình trang bị cho học viên kiến thức kỹ xây dựngcác ứng dụng chuyên nghiệp theo mô hình Client/Server hệ quản trị sở liệu MS SQL Server; quản trị hệ quản trị sở liệu MS SQL Server từ xa Nội dung giáo trình gồm phần chính: Thủ tục lưu trữ (Store Proceduce), Trigger, Hàm (Function), Bảo mật SQL Server kết nối ứng dụng với sở liệu Mặc dù thân tham khảo tài liệu ý kiến tham gia đồng nghiệp, song giáo trình khơng tránh khỏi thiếu sót Mong bạn đóng góp ý kiến Tơi xin cảm ơn thầy cô khoa CNTT–Trường Cao đẳng nghề cho tơi ý kiến đóng góp q báu để tơi hồn thiện giáo trình TÁC GIẢ MỤC LỤC BÀI 1: THỦ TỤC LƯU TRỮ (STORE PROCEDUCE) Định nghĩa Lợi ích quản lý liệu SPs 10 Các kiểu SPs 10 3.1 System stored procedures .10 3.2 User-defined Stored Procedure .12 a Cú pháp: 12 b Thực User-defined Stored Procedures 12 c Sử dụng biến Stored Procedures .12 d Biên dịch lại - Re-compiling Stored Procedures 13 e Sửa cấu trúc Stored Procedures 14 f Thông báo lỗi 14 BÀI : TRIGGER 17 Giới thiệu Trigger 17 Tạo Insert trigger 18 Tạo Delete Trigger 18 Tạo Update trigger 19 4.1 Tạo Table Level Update Trigger .19 4.2 Tạo Column Level Update Trigger 20 Tạo Trigger có lựa chọn Encryption .20 Hiển thị danh sách trigger DB 21 Sử dụng trigger để cài đặt Ràng buộc tham chiếu 22 Cascade Delete sử dụng Nested trigger 22 Instead of trigger 23 Câu hỏi tập 25 BÀI 3: HÀM (FUNCTION) 26 Khái niệm 26 Hàm với giá trị trả "dữ liệu kiểu bảng" 28 BÀI BẢO MẬT TRONG SQL SERVER 30 Các khái niệm 30 Cấp phát quyền 31 2.1 Cấp phát quyền cho người dùng đối tượng CSDL 31 2.2 Cấp phát quyền thực thi câu lệnh 33 Thu hồi quyền 33 3.1 Thu hồi quyền đối tượng sở liệu 34 3.2 Thu hồi quyền thực thi câu lệnh 35 BÀI KẾT NỐI ỨNG DỤNG VỚI CƠ SỞ DỮ LIỆU 36 Công nghệ Open Database Connectivity (ODBC) 36 1.1 Tạo nguồn liệu ODBC .36 1.2 Tạo System DSN 37 Công nghệ OLE DB (Object Linking and Embedding Data Base) 38 Công nghệ DAO (Data Access Object) .39 Công nghệ Remote Data Access Object (RDO) 46 Thiết lập kết nối dùng đối tượng RDOConnection 49 Công nghệ ActiveX Data Object (ADO) 50 TÀI LIỆU THAM KHẢO 59 DANH MỤC HÌ Hình 1.1: Các thành phần SPs .9 Hình 1.2 Các loại System stored procedures .11 Hình 1.3 Thực User-defined Stored Procedures có biến 13 Y Hình 2.1:Kết thực Delete trigger 19 Hình 2.2:Kết thực Table level Update trigger 20 Hình 2.3:Kết thực Column Level Update trigger 20 Hình 2.4:Kết thực Encryption trigger 21 Hình 2.5:Hiển thị trigger DB 21 Hình 5.1: Mơ hình lập trình CSDL Client Server dùng RDO ADO 49 Hình 5.2: Truy cập CSDL từ trình ứng dụng trình duyệt Web theo ADO 49 Hình 5.3: Mơ hình ADO 50 CHƯƠNG TRÌNH MƠ ĐUN HỆ QUẢN TRỊ CSDL MS SQL SERVER Mã số mô đun: MĐ 19 Thời gian mô đun: 75giờ (Lý thuyết: 30 giờ; Thực hành: 45 giờ) I VỊ TRÍ, TÍNH CHẤT CỦA MƠ ĐUN Vị trí : Mô đun Hệ quản trị sở liệu Microsoft SQL Server mô đun nâng cao mô đun Hệ quản trị sở liệu Microsoft SQL Server mà người học học giai đoạn Tính chất : Để học tốt mơ đun bắt buộc người học cần học qua mô đun Hệ quản trị sở liệu Microsoft SQL Server II MỤC TIÊU MÔ ĐUN - Xây dựng ứng dụng chun nghiệp theo mơ hình Client/Server hệ quản trị sở liệu MS SQL Server - Quản trị hệ quản trị sở liệu MS SQL Server từ xa - Thực đựợc biện pháp an tồn cho máy tính vệ sinh cơng nghiệp III NỘI DUNG MƠ ĐUN Nội dung tổng quát phân phối thời gian: Số Thời gian Tên mô đun T Thực Kiểm Tổng số Lý thuyết T hành tra* Thủ tục lưu trữ 20 12 Trigger 15 10 Hàm 15 Bảo mật SQL Server 10 5 Kết nối ứng dụng với sở liệu 15 75 30 45 Cộng: *Ghi chú: Thời gian kiểm tra tích hợp lý thuyết với thực hành tính vào thực hành Nội dung chi tiết BÀI 1: THỦ TỤC LƯU TRỮ (STORE PROCEDUCE) Giới thiệu Để thuận lợi việc sử dụng câu lệnh có cấu trúc, đáp ứng nhu cầu khai thác liệu người dùng SQL server cung cấp số thủ tục lưu trữ cho phép người dùng tự định nghĩa thêm thủ tục lưu trữ Mục tiêu Định nghĩa thủ tục lưu trữ với kiểu tham số Sửa đổi thủ tục định nghĩa Xóa thủ tục Nội dung Định nghĩa SPs tập hợp câu lệnh T-SQL biên dịch trước (pre_compiled) SPs đặt tên xử lý khối lệnh thống (chứ thực rời rạc câu lệnh) SQL Server cung cấp số thủ tục lưu trữ sẵn hệ thống giúp thực số công việc thường xuyên Nó gọi thủ tục hệ thống – System stored procedures Còn thủ tục người sử dụng tự viết gọi User stored procedures SPs SQL Server tương tự khái niệm thủ tục ngơn ngữ lập trình khác, vì: Chấp nhận biến đầu vào trả lại kết thực Chứa câu lệnh dùng lập trình thao tác với sở liệu gọi đến thủ tục khác Trả lại giá trị trạng thái thủ tục gọi để xác định việc thực thủ tục thành cơng hay thất bại Hình 1.1: Các thành phần SPs Lợi ích quản lý liệu SPs Tăng tốc độ thực hiện: Một lợi ích lớn sử dụng SPs tốc độ SPs tối ưu hoá lần biên dịch đầu tiên, điều cho phép chúng thực nhanh nhiều lần so với câu lệnh T-SQL thông thường Tốc độ truy cập liệu nhanh hơn: Khi thực thi câu lệnh SQL SQL Server phải kiểm tra permission xem user gửi câu lệnh có phép thực câu lệnh hay không đồng thời kiểm tra cú pháp tạo execute plan thực thi Nếu có nhiều câu lệnh gửi qua network làm giảm tốc độ làm việc server SQL Server làm việc hiệu dùng stored procedure người gửi gửi câu lệnh đơn SQL Server kiểm tra lần sau tạo execute plan thực thi Nếu stored procedure gọi nhiều lần execute plan sử dụng lại nên làm việc nhanh Ngoài cú pháp câu lệnh SQL SQL Sever kiểm tra trước lưu nên khơng cần kiểm lại thực thi Chương trình modul hoá: Một stored procedure tạo sử dụng lại Ðiều làm cho việc bảo trì (maintainability) dễ dàng việc tách rời business rules (tức logic thể bên stored procedure) sở liệu Ví dụ có thay đổi mặt logic ta việc thay đổi code bên stored procedure mà Những ứng dụng dùng stored procedure khơng cần phải thay đổi mà tương thích với business rule Nhất quán: Lợi ích SPs thiết đặt ràng buộc liệu để đảm bảo tính quán Người sử dụng thực tuỳ tiện liệu để làm tính đắn liệu Nâng cao khả bảo mật liệu: Giả sử muốn giới hạn việc truy xuất liệu trực tiếp user vào số bảng, ta viết stored procedure để truy xuất liệu cho phép user sử dụng stored procedure viết sẵn mà thao tác trực tiếp bảng Ví dụ, ta tạo SPs để ta làm chủ cung cấp quyền EXCUTE cho SPs này, người sử dụng khác không phép trực tiếp làm việc với liệu Ngồi stored procedure encrypt (mã hóa) để tăng cường bảo mật Các kiểu SPs SPs chia làm loại: System stored procedures: Thủ tục m người sử dụng có quyền thực hiện, khơng phép thay đổi User stored procedures: Thủ tục người sử dụng tạo thực 3.1 System stored procedures Là stored procedure chứa Master Database thường bắt đầu tiếp đầu ngữ sp_ Các stored procedure thuộc loại built-in chủ yếu dùng việc quản lý sở liệu (administration) bảo mật (security) Ví dụ bạn kiểm tra tất processes sử dụng user DomainName\Administrators bạn dùng : sp_who @loginame='DomainName\Administrators' Người ta chia System stored procedures thành loại sau: Hình 1.2 Các loại System stored procedures Có hàng trăm system stored procedure SQL Server Bạn xem chi tiết phân loại nội dung thủ tục SQL Server Books Online Sau số thủ tục hệ thống thường sử dụng: System stored procedure Chức sp_Databases Danh sách Database (avaiable) Server (Danh sách khác tuỳ t uộc vào uyền người sử dụng) sp_server_info Chi tiết thơng tin Server, ví dụ tập đặc tính, phiên bản… sp_stored_procedures Danh sách tất thủ tục mơi trường sp_tables Danh sách tất bảng môi trường iện sp_start_job Khởi động tất automated task sp_stop job Ngừng lại tất automated task chạy sp_password Thay đổi password cho login account + Phương thức Edit cho phép sửa đổi giá trị mẩu tin - Dùng phương thức duyệt để di chuyển trỏ ghi đến vị trí cần sửa - Thi hành phương thức Edit - Dùng tập hợp Fields đối tượng RecordSet để gán giá trị cho mẩu tin - Dùng phương thức Update để cập nhật giá trị cho RecordSet + Dùng phương thức AddNew Update để tạo mẩu tin - Thi hành phương thức AddNew để thêm ghi - Dùng tập hợp Fields đối tượng RecordSet để gán giá trị cho mẩu tin - Dùng phương thức Update để cập nhật giá trị cho RecordSet + Các phương tìm kiếm để định vị mẩu tin - FindFirst: - FindNext: - FindPrevious: - FindLast: RecordSet.{FindFirst | FindLast | FindNext | FindPrevious} Criteria Criteria: Một xâu chứa điều kiện tìm kiếm Ví dụ: Public dao As Database Private Sub Form_Load() Set dao = OpenDatabase(App.Path & "\qlbh97.mdb") End sub -Public Sub mbdao(rs As Recordset, tenbang As String) Set rs = dao.OpenRecordset(tenbang, dbOpenSnapshot) End sub Public cmdthem_Click() Dim rs as Recordset Call modao(rs, “loai”) rs.AddNew rs!maloai = "mb" rs!tenloai = "máy bay" rs.Update rs.Close End sub -Public cmdsua_Click() Dim rs as Recordset Call modao(rs, “loai”) Do While not rs.EOF If Ucase(rs!maloai) = Ucase("mb") then Rs.Edit Rs!tenloai = “Máy bay moi” Rs.Update End if Rs.MoveNext Loop rs.Close End sub Công nghệ Remote Data Access Object (RDO) + Định cấu hình sử dụng ODBC ODBC công nghệ Windows cho phép ứng dụng Client kết nối với CSDL từ xa ODBC gồm phần: Trình quản lý điều khiển (Driver manager) Một hay nhiều trình điều khiển (Driver) Một hay nhiều nguồn liệu (Data Source) Tạo nguồn liệu cho ODBC Đảm bảo ta có SQL Server hoạt động Phóng Coltrol Panel Chọn ODBC hộp thoại quản trị nguồn liệu xuất Hình 1.2 Hộp thoại Quản trị nguồn liệu ODBC User DSN: Chỉ có người tạo sở dụng máy dùng System DSN: Bất kỳ sử dụng máy dùng File DSN: Có thể copy sử dụng dễ dàng máy khác Tạo System DSN Chọn tab System DSN cửa sổ ODBC Data Source Administrator Chọn Add Hộp thoại Create New Data Source xuất Chọn tên điều khiẻn CSDL ta muốn dùng Chọn Finish Chọn tên nguồn liệu Name (Tên dùng ứng dụng Client để tham chiếu đến CSDL, nên đặt cho gợi nhớ) Description định thông tin hiển thị cửa sổ ODBC Control Panel Trong hộp thoại Server, chọn (tên Server) SQL Server chứa CSDL mà ta làm việc Chọn Next chọn chế Login vào server Sau nhập tên người sử dụng mật Nhấn Next Chọn ô đánh dấu "Change the default database", chọn sở liệu "Data" từ hộp kết hợp 10 Nhấn Next Trên hình nhắc ta chọn thông dịch ký tự Hãy nhấn Next 11 Màn hình kế cho ta chọn khả kích hoạt tác vụ ghi nhật ký 12 Chọn Finish sau nhấn nút Test Data Source 13 Nhấn OK , tên nguồn liệu xuất cửa sổ ODBC Data Source Addministrator Kiểm nghiệm kết nối CSDL ODPC (Ping) Công việc dùng cần xác định nguyên nhân trục trặc kết nối Client/Server, Server, kết nối mạng, ODBC hay ứng dụng Client Cú pháp: ODBCPing /UUserName/ PPassWord/ SServer Ví dụ: Để kiểm định kết nối với SQL Server = BEDROCK, UserName= randy, PassWord=Prince ODBCPing /Urandy /Pprince / SBEDROCK +Từ dấu nhắc DOS, gõ lệnh ODBCPing /Urandy /Pprince / SBEDROCK + ODBCPING thiết lập kết nối với Server thoát Kiểm nghiệm SQL Server DSN Tạo nguồn liệu ODBC tên Novelty Tạo đề án Standard.EXE VB Thêm điều khiển "Micrisoft Data Bound Grid Control" Thêm khiển DBGrid Tạo form điều khiển kết nối liệu Đổi thuộc tính Data.DefaultType = - UseODBC Thiết lập DSN=Data" thuộc tính Data.Connect = "ODBC;UID=randy; PWD=printce; Thiết lập thuộc tính Data.RecordSet= "SELECT * from cauhoi" Quy định thuộc tính DBGrid.DataSource = Data1 10 Thi hành ứng dụng Truy cập liệu dùng điều khiển liệu từ xa + Điều khiển liệu từ xa (Remote Data Control - RDO) cách truy cập liệu từ xa ứng dụng viết Visual Basic, giao diện lập trình tương tự điều khiển ADO Data hay DAO Data + Sử dụng RDC - Trong Visual Basic chọn menu Project, Components - Chọn "Microsoft Remote Data Control ", thiết lập tham chiếu đến "Microsoft Data Bound Grid Control " - Chọn OK - Tạo instance cho điều khiển Remote Data điều khiển Data Bound Grid - Nhập tên người sử dụng vào thuộc tính RemoteData UserName - Nhập vào mật người dùng truy cập sở liệu vào thuộc tính RemoteData Passoword - Quy định thuộc tính SQL RemoteData.SQL = "SELECT * from Noidung" - Chọn DSN cho sở liệu SQL Server thuộc tính Remote Data.DataSourceName (DSN tạo trước đây, xuất danh sách thả xuống) - Đặt thuộc tính DBGrid.DataSource = MSRDC1 - Thi hành ứng dụng Sử dụng RDO chương trình Đối tượng liệu từ xa (Remote Data Object - RDO) xếp cấu trúc phân nhánh đối tượng tương tự DAO + Tạo tham chiếu đến RDO trước sử dụng: chọn Project/ Reference/ "Microsoft Remote Data Object 2.0" + Chọn OK Thiết lập kết nối dùng đối tượng RDOConnection Ta dùng đối tượng RDOConnection để thiết lập kết nối đến Server sở liệu từ xa RDO Để tạo kết nối dùng đối tượng RDOConnection, ta bắt đầu công việc tạo chuỗi kết nối ODBC gồm phần tử thông dụng: UID Tên login người sử dụng PID Mật người sử dụng DSN SRIVER DATABA SE APP LANGU AGE SERVER Tên nguồn liệu ta tạo trình Quản lý Điều khiển ODBC Điều khiển ODBC mà ta muốn dùng Tên sở liệu mà ta muốn kết nối Tên ứng dụng kết nối với CSDL Ngôn ngữ quốc tế dùng Server Tên SQL Server mà ứng dụng kết nối đến Ta khơng thiết phải dùng tồn tham biến Ví dụ: DSN=DSNQLBH; UID=hue;PWD=minhhue Nếu không cung cấp tên login mật ngời sử dụng vào chuỗi kết nối, ứng dụng nối đến server, trình điều khiển ODBC hiển thị hộp thoại yêu cầu ngời sử dụng cung cấp thông tin vào Thi hành phơng thức EstablishConnection để thi hành kết nối Ví dụ: Set rdo = New rdoConnection rdo.Connect = "DSN=DSNQLBH" rdo.EstablishConnection Thi hành truy vấn RDOQuery RDOResultset chứa kết mẩu tin trả Dùng đối tợng RDOQuery để tạo câu truy vấn SQL động đối tợng RDOResualset để chứa kết mẩu tin trả thông qua phương thức OpenResultset đối tợng RDOQuery VD: Public rdo as rdoConnection -Public Sub Form_load() Set rdo = New rdoConnection rdo.Connect = "DSN=DSNQLBH" rdo.EstablishConnection End Sub Public Sub mbrdo(rq As rdoQuery, rs As rdoResultset) Dim rq As rdoQuery Dim rs As rdoResultset Set rq = New rdoQuery Set rq.ActiveConnection = rdo rq.SQL = "select * from loai" Set rs = rq.OpenResultset Do While Not rs.EOF If rs!maloai = "tv" Then rs.Edit rs!tenloai = "ti vi mau" rs.Update MsgBox "mau tin vua duoc sửa" End If rs.MoveNext Loop rs.Close End Sub Công nghệ ActiveX Data Object (ADO) ADO công nghệ truy cập sở liệu hướng đối tượng ADO xem kỹ thuật để truy cập sở liệu từ Web Server Vì ADO cung cấp dạng thư viện ActiveX Server Ta dùng ADO ứng dụng Visual Basic Trong thực tế sử dụng ADO để làm việc với sở liệu Client / Server dễ kỹ thuật khác ADO giao diện dựa đối tượng cho công nghệ liệu OLE DB Hình 5.1: Mơ hình lập trình CSDL Client Server dùng RDO ADO Ta cần lập trình với phần giao diện người sử dụng phía Client Việc truy cập sở liệu trình duyệt Web hay ứng dụng VB thực nhờ ADO Cấu trúc cho phép ta lập trình cách quán Web ứng dụng Hình 5.2: Truy cập CSDL từ trình ứng dụng trình duyệt Web theo ADO Mơ hình ADO Mơ hình ADO trình bày theo dạng phân cấp (tương tự DAO RDO) Để lập trình với thư viện ADO, ta phải tham chiếu đến thư viện cách chọn Project\References…\Microsoft ActiveX Data Object 2.0 Hình 5.3: Mơ hình ADO Mơ hình ADO có đối tượng cốt lõi: Connection: kết nối CSDL thật Command: thực thi câu truy vấn dựa vào kết nối liệu RecordSet: tập mẩu tin chọn từ câu truy vấn thông qua đối tượng Command Các đối tượng mơ hình ADO Đối tượng Connection Dùng phương thức Open đối tượng Connection để thiết lập kết nối với nguồn liệu Để thực điều ta cần phải thông báo với ADO thông tin kết nối với dạng chuỗi theo kiểu chuỗi kết nối ODBC Thuộc tính ConnectionString thực điều Ngồi ta cịn chọn trình cung cấp cách quy định giá trị thuộc tính Provider đối tượng Để nối kết với liệu, ta cần xác định trình cung cấp OLE DB chuỗi kết nối Nếu không xác định hai yếu tố này, ta sử dụng trình cung cấp mặc định ODBC: MSDASQL Một số trình cung cấp có sẵn: Microsoft OLEDB cho trình điều khiển ODBC Microsoft OLEDB cho Oracle Microsoft Jet 3.51 OLEDB (Access) Microsoft Jet 4.0 OLEDB (Access) Microsoft OLEDB cho SQL Server Microsoft OLEDB cho dịch vụ thư mục Ví dụ: Đối với trình cung cấp ODBC, thuộc tính ConnectionString DSN kết nối khơng có DSN (DSN cấp thấp) Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.Provider = "MSDASQL" cn.ConnectionString = "DSN=Baigiang" cn.Open Kết nối DSN cấp thấp: Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.Provider = "MSDASQL" cn.ConnectionString = "DRIVER={SQL Server};” & _ “DATABASE=Baigiang;UID=myuser;PWD=mypassword;" cn.Open Trong trường hợp việc kết nối với sở liệu Server thực nhanh chương trình khơng cần đọc thơng tin DSN máy Client, nhiên thông tin nguồn sở liệu lại kết chặt với chương trình biên dịch Để kết nối với sở liệu Access, ta dùng trình cung cấp Jet với chuỗi kết nối đường dẫn đến tập tin mdb Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.Provider = "MicroSoft.Jet.OLEDB.4.0" cn.ConnectionString = "d:\data\baigiang.mdb" cn.Open Đối với sở liệu SQL Server, ta dùng trình cung cấp SQLOLEDB.1, trường hợp này, chuỗi kết nối tương tự trường hợp kết nối dùng trình cung cấp ODBC khơng có DSN, nhiên ta không cần xác định giá trị DRIVER: Dim cn as ADODB.Connection Set cn = New ADODB.Connection cn.Provider = “SQLOLEDB.1” cn.ConnectionString = “DATABASE=DBHH;” & _ “SERVER=www;UID=user;PWD=user” cn.Open Mở đóng nối kết nguồn liệu Để phát yêu cầu đến nguồn liệu sử dụng ADO, ta cần mở kết nối đến nguồn liệu phương thức Open đối tượng Connection Cú pháp đầy đủ sau: connection.Open [connect], [userid], [password] Tất tham số phương thức Open tùy chọn, thông số xác định thơng qua thuộc tính khác đối tượng Connection ta khơng cần mơ tả chúng Khi hoàn thành tất thao tác liên quan đến nối kết này, ta cần phải đóng nối kết cách tường minh thông qua phương thức Close đối tượng Connection connection.Close Đóng nối kết cách tường minh đảm bảo tất tài nguyên liên quan đến nối kết Server Client giải phóng cách hợp lý Xác định vị trí trỏ Con trỏ (Cursor): tập mẩu tin trả cho chương trình Vị trí trỏ xác định nhờ thuộc tính CursorLocation (có đối tượng Recordset) Có giá trị định: adUseClient: trỏ phía Client adUseServer: trỏ phía Server (mặc định) Thực thi câu truy vấn hành động Các câu truy vấn hành động (Insert, Update, Delete) thực nhờ phương thức Execute đối tượng Connection; phương thức sử dụng để thực thi thủ tục lưu trữ sẵn sở liệu hay câu SELECT Cú pháp phương thức sau: Nếu khơng có kết trả về: connection.Execute CommandText, RecordsAffected, Options Có kết trả về: Set recordset = connection.Execute (CommandText, RecordsAffected, Options) Trong đó: - connection: Đối tượng Connection - recordset: Đối tượng Recordset kết trả phương thức Execute, nhiên, người ta thường sử dụng cách Thay vào đó, người ta thường sử dụng phương thức Open đối tượng Recordset - CommandText: chuỗi xác định câu truy vấn hành động, SELECT, thủ tục lưu trữ sẵn hay tên bảng sở liệu - RecordEffected: Tùy chọn, số nguyên dài (Long) xác định trình cung cấp trả mẩu tin thỏa điều kiện - Options: Tùy chọn, số nguyên dài (Long) xác định trình cung cấp đánh giá đối số CommandText Thuộc tính Mode: Xác định trình cung cấp hạn chế truy cập đến sở liệu có recordset mở Các giá trị là: Hằng số Giá trị Ý nghĩa adModeUnknown Mặc định, định quyền hạn chưa thiết lập hay xác định adModeRead Mở Recordset với quyền đọc adModeWrite Mở Recordset với quyền ghi adModeReadWrite Mở Recordset với quyền đọc/ghi adModeShareDenyRead Ngăn người khác mở kết nối với quyền đọc adModeShareDenyWrite Ngăn người khác mở kết nối với quyền ghi adModeShareExclusive 12 Ngăn người khác mở kết nối adModeShareDenyNone 16 Ngăn người khác mở kết nối với quyền Đối tượng Recordset Để khởi tạo đối tượng Recordset ta thực hai cách: Phương thức Execute đối tượng Connection Tuy nhiên cách ta tạo Recordset đọc di chuyển tới Xác lập thơng số thích hợp cho đối tượng Recordset thực thi phuơng thức Open đối tượng Recordset Điều thực nhờ bước: o Sau khởi tạo đối tượng Connection, định Recordset đối tượng Connection o Thiết lập thuộc tính thích hợp Recordset (Source, LockType…) o Thực thi câu truy vấn nối kết nhờ phương thức Open Thuộc tính CursorType (loại trỏ) Xác định loại trỏ trả từ sở liệu Các giá trị nhận: Hằng Giá trị adOpenForwardOnly Mơ tả Chỉ di chuyển phía trước adOpenKeyset Không thể thấy mẩu tin người dùng khác thêm vào họ xóa hay sửa đổi mẩu tin làm ảnh hưởng đến mẩu tin ta làm việc adOpenDynamic Có thể thấy toàn thay đổi người dùng khác tác động adOpenStatic Bản tĩnh tập mẩu tin Mọi thay đổi người dùng khác ta không thấy Thuộc tính LockType (Khóa mẫu tin) Xác định cách thức khóa mẩu tin Recordset Dùng tính muốn kiểm soát cách thức cập nhật mẩu tin với nhiều người dùng sở liệu Hằng Giá trị Mô tả adLockReadOnly Mặc định - Chỉ đọc Khóa trang bi quan Mẩu tin RecordSet bị khóa bắt đầu sửa đổi & tiếp tục khóa thi hành phương thức Update hay di chuyển sang mẩu tin khác adLockOptimistic Khóa trang lạc quan Mẩu tin bị khóa lúc thi hành phương thức Update hay di chuyển sang mẩu tin khác adLockBatchOptimistic Khóa trang lạc quan hàng loạt Hỗ trợ cập nhật nhiều mẩu tin lúc adLockPessimistic Thuộc tính Source Đây chuỗi xác định câu truy vấn để lấy liệu, tên bảng hay tên thủ tục lưu trữ sẵn Thuộc tính ActiveConnection Đây thuộc tính đối tượng xác định Recordset nối kết chương trình Hàm mẫu Kết nối CSDL: ‘Khai báo đối tượng Connection Public connect As New ADODB.Connection Public Sub KetNoiCSDL() Dim strPath As String Dim strDatabase As String connect.Provider = "Microsoft.jet.OLEDB.4.0" strPath = App.Path & "\dbvanchuyen.mdb" connect.ConnectionString = strPath connect.Open If connect.State = Then MsgBox "Khong ket noi duoc CSDL" Exit Sub End If End Sub Private Sub HienDanhSachSoXe() ‘Thực truy vấn chọn Dim RS As New ADODB.Recordset Dim sqlCommand As String sqlCommand = "Select Soxe from TXETAI" RS.Open sqlCommand, connect, adOpenStatic, adLockOptimistic, adCmdText ‘Hiện liệu lên ListBox If RS.RecordCount > Then ListSoXe.Clear 'Xoa listbox Do While Not RS.EOF ListSoXe.AddItem RS.Fields("Soxe") ‘RS!Soxe RS.MoveNext Loop RS.Close End If End Sub Private Sub HienThongTinChiTietXe(ByVal soxechon As String) ‘Thực truy vấn lấy trường xe chọn (soxechon) Dim sqlCommand As String Dim rsCTXe As New ADODB.Recordset sqlCommand = "select * from TXETAI where Soxe = '" & soxechon & "'" rsCTXe.Open sqlCommand, connect, adOpenStatic, adLockOptimistic, adCmdText ‘Hien du lieu lay duoc len textbox tương ứng IDSoxechon = rsCTXe!IDSoxe txtTaixe.Text = rsCTXe.Fields("TenLaiXe") txtTaitrong.Text = rsCTXe.Fields("Taitrong") txtSoxe.Text = soxechon End Sub Private Sub HientieudeListView() lvChitietVC.ColumnHeaders.Add 1, , "Ngày vận chuyển", 2500 lvChitietVC.ColumnHeaders.Add 2, , "Tên khách hàng", 2500, lvwColumnLeft lvChitietVC.ColumnHeaders.Add 3, , "Địa chỉ", 2500, lvwColumnLeft lvChitietVC.ColumnHeaders.Add 4, , "Cíc vËn chun", 2500, lvwColumnLeft lvChitietVC.View = lvwReport End Sub Private Sub HienChitietVanChuyen() Dim i As Integer Dim rsCTVC As New ADODB.Recordset Dim sqlCommand As String sqlCommand = "select * from TCHITIETVC where IDSoxe= '" & IDSoxechon & "' and Month(Ngayvc) = " & Val(ComboThang.Text) & " and Year(Ngayvc) = " & Val(ComboNam.Text) & " order by Ngayvc desc" rsCTVC.Open sqlCommand, connect, adOpenKeyset, adLockOptimistic, adCmdText lvChitietVC.ListItems.Clear 'Xoa toan bo ListView de hien moi If rsCTVC.EOF = False Then i=1 Do While Not rsCTVC.EOF lvChitietVC.ListItems.Add i, , rsCTVC!Ngayvc lvChitietVC.ListItems(i).SubItems(1) = rsCTVC!TenKH lvChitietVC.ListItems(i).SubItems(2) = rsCTVC!Diadiem lvChitietVC.ListItems(i).SubItems(3) = Format(rsCTVC!Sotien, "#,###") i=i+1 rsCTVC.MoveNext Loop rsCTVC.Close LayThongTinChitietVC End If End Sub Yêu cầu kiểm tra đánh giá nội dung Kết nối ứng dụng với sở liệu MS SQL Server thông qua đối tượng ADO, OLEDB môi trường lập trình ứng dụng Windows mơi trường lập trình Web TÀI LIỆU THAM KHẢO [1] James R, Groff, Paul N.Weinberg, SQL: The Complete Reference, McGrawHill/Osborne, 2009 [2] Diana Lorentz, SQL Reference, Oracle Corporation, 2008 [3] Trần Nguyên Phong, Giáo trình MS SQL Server Trường Đại học Khoa học Huế Website: https://www.microsoft.com