(NB) Mục đích của giáo trình là trang bị cho học viên những kiến thức và kỹ năng về xây dựngcác ứng dụng chuyên nghiệp theo mô hình Client/Server trên hệ quản trị cơ sở dữ liệu MS SQL Server; quản trị được hệ quản trị cơ sở dữ liệu MS SQL Server từ xa.
ỦY BBN NHBN DBN TỈNH BR – VT TRƯỜNH BBB ĐẲNH NHHỀ GBBB TRBN G BÔ ĐUN GỆ QU ẢN TR Ị BB DL BB BQL BBRVBR B TRBNH ĐỘ BBB ĐẲNH NHHỀ Ban hành Bèm theo QuBết định sốB BQĐBBBĐN… ngàB……Btháng…Bnăm BBBBBBBBB …………BBBBBBBBBBB Hiệu trưởng trường Bao đẳng nghề tỉnh BR B VT Bà Rịa – Vũng TàuB năm BBBB TUYÊN BỐ BẢN QUYỀN Tài liệu nàB thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguBên trích dùng cho mục đích đào tạo tham BhảoB Bọi mục đích Bhác mang tính lệch lạc sử dụng với mục đích Binh doanh thiếu lành mạnh bị nghiêm cấmB LỜB HBHỚB TỆBB U Bông nghệ thông tin ngàB phát triển nhập vào nhiều lĩnh vực sốngB Bong song với phát triển đóB nhu cầu quản lý liệu ngàB chặt chẽB Bicrosoft® BQL Berver™ ví trái tim tảng liệu toàn diệnB cho phép bạn truB cập gia cơng liệu cho doanh nghiệp từ thiết bị Bhác nhauB tảng dịch vụ liệu doanh nghiệpB Vì vậB tác giả biên soạn giáo trình Hệ quản trị BBDL BB BQL Berver B dùng cho học sinh cao đẳng nghềB ngồi cịn sách tham Bhảo nhiều độc giả muốn tìm hiểu BQL BerverB Bục đích giáo trình trang bị cho học viên Biến thức Bỹ xâB dựngcác ứng dụng chuBên nghiệp theo mơ hình BlientBBerver hệ quản trị sở liệu BB BQL Berver B quản trị hệ quản trị sở liệu BB BQL Berver từ xaB Nội dung giáo trình gồm phần chínhB Thủ tục lưu trữ (Btore BroceduceBB TriggerB Hàm (FunctionBB Bảo mật BQL Berver Bết nối ứng dụng với sở liệu Bặc dù thân tham Bhảo tài liệu ý Biến tham gia đồng nghiệpB song giáo trình Bhơng tránh Bhỏi thiếu sótB Bong bạn đóng góp ý BiếnB Tôi xin cảm ơn thầB cô Bhoa BNTT–Trường Bao đẳng nghề cho tơi ý Biến đóng góp q báu để tơi hồn thiện giáo trình nàBB TBB HBBẢ B ỤB L ỤB B GƯƠN G TRBN G BÔ ĐUN GỆ QU ẢN TR Ị BB DL BB BQL BBRVBR B Bã số mô đunB BĐ BB Thời gian mô đunB BBgiờ (Lý thuBếtB BB giờB Thực hànhB BB giờB BB VỊ TRÍB TÍNH BHẤT BỦB BƠ ĐUN Vị trí B Bơ đun Hệ quản trị sở liệu Bicrosoft BQL Berver B mô đun nâng cao mô đun Hệ quản trị sở liệu Bicrosoft BQL Berver B mà người học học giai đoạn BB Tính chất B Để học tốt mô đun nàB bắt buộc người học cần học qua mô đun Hệ quản trị sở liệu Bicrosoft BQL Berver BB BBB BỤB TBÊU BÔ ĐUN XâB dựng ứng dụng chuBên nghiệp theo mô hình BlientBBerver hệ quản trị sở liệu BB BQL BerverB Quản trị hệ quản trị sở liệu BB BQL Berver từ xaB Thực đựợc biện pháp an tồn cho máB tính vệ sinh cơng nghiệp BBBB NỘB DUNH BƠ ĐUN BB Nội dung tổng quát phân phối thời gianB Bố T T Thời gian Tên mô đun Tổng số Lý thuBế t Thự c hàn h B Thủ tục lưu trữ BB B BB B Trigger BB B BB B Hàm BB B B B Bảo mật Berver BB B B B Kết nối ứng dụng với sở liệu BB B B BB BB BB BộngB BQL Kiểm tra* *Hhi chúB Thời gian Biểm tra tích hợp lý thuBết với thực hành tính vào thực hànhB BB Nội dung chi tiết BBB BB T GỦ T ỤB L ƯU TR Ữ (BTBRB BRBBB DUBBB Hiới thiệu Để thuận lợi việc sử dụng câu lệnh có cấu trúcB đáp ứng nhu cầu Bhai thác liệu người dùngB BQL 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ữB Bục tiêu Định nghĩa thủ tục lưu trữ với Biểu tham sốB Bửa đổi thủ tục định nghĩaB Xóa thủ tụcB Nội dung BB Địn h n ghĩa BBs tập hợp câu lệnh TBBQL biên dịch trước (pre_compiledBBBBs đặt tên xử lý Bhối lệnh thống (chứ Bhông phải thực rời rạc câu lệnhBB BQL Berver 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 xuBênB Nó gọi thủ tục hệ thống –BBstem stored proceduresB Bòn thủ tục người sử dụng tự viết gọi User stored proceduresB BBs BQL Berver tương tự Bhái niệm thủ tục ngơn ngữ lập trình BhácB vìB Bhấp nhận biến đầu vào trả lại Bết Bhi thực hiệnB Bhứ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 BhácB Trả lại giá trị trạng thái Bhi thủ tục gọi để xác định việc thực thủ tục thành công haB thất bạiB Hình BBB Bác thành phần BBs BB L ợi í ch B hi qu ản lý l iệu bằn g BBs Tăng tốc độ thực hiệnB Bột lợi ích lớn Bhi sử dụng BBs tốc độB BBs tối ưu hoá ngaB lần biên dịch đầu tiênB điều nàB cho phép chúng thực nhanh nhiều lần so với câu lệnh TBBQL thông thườngB Tốc độ truB cập liệu nhanh hơnB Khi thực thi câu lệnh BQL BQL Berver phải Biểm tra permission xem user gửi câu lệnh có phép thực câu lệnh haB Bhông đồng thời Biểm tra cú pháp tạo execute plan thực thiB Nếu có nhiều câu lệnh vậB gửi qua networB làm giảm tốc độ làm việc serverB BQL Berver làm việc hiệu dùng stored procedure người gửi gửi câu lệnh đơn BQL Berver Biểm tra lần sau tạo execute plan thực thiB Nếu stored procedure gọi nhiều lần execute plan sử dụng lại nên làm việc nhanh hơnB Ngoài cú pháp câu lệnh BQL BQL Bever Biểm tra trước Bhi lưu nên Bhơng cần Biểm lại Bhi thực thiB Bhương trình modul hốB Bột Bhi stored procedure tạo sử dụng lạiB Ðiều nàB làm cho việc bảo trì (maintainabilitBB dễ dàng việc tách rời business rules (tức logic thể bên stored procedureB sở liệuB Ví dụ có thaB đổi mặt logic ta việc thaB đổi code bên stored procedure mà thôiB Những ứng dụng dùng stored procedure nàB Bhơng cần phải thaB đổi mà tương thích với business rule mớiB Nhất quánB Lợi ích BBs thiết đặt ràng buộc liệu để đảm bảo tính qnB Người sử dụng Bhơng thể thực tuỳ tiện liệu để làm tính đắn liệuB Nâng cao Bhả bảo mật liệuB Hiả sử muốn giới hạn việc truB xuất liệu trực tiếp user vào số bảngB ta viết stored procedure để truB xuất liệu cho phép user sử dụng stored procedure viết sẵn mà Bhông thể thao tác trực tiếp bảng đóB Ví dụB ta tạo BBs để ta làm chủ cung cấp quBền BXBUTB cho BBs nàBB người sử dụng Bhác Bhông phép trực tiếp làm việc với liệuB Ngồi stored procedure encrBpt (mã hóaB để tăng cường bảo mật B Bá c B iểu BBs BBs chia làm B loạiB BBstem stored proceduresB Thủ tục m người sử dụng có quBền thực hiệnB Bhơng phép thaB đổiB User stored proceduresB Thủ tục người sử dụng tạo thực BBBB BBst em stor ed pro cedur es Là stored procedure chứa Baster Database thường bắt đầu tiếp đầu ngữ sp_ B Bác stored procedure nàB thuộc loại builtBin chủ Bếu dùng việc quản lý sở liệu (administrationB bảo mật (securitBBB Ví dụ bạn Biểm tra tất processes sử dụng user DomainNameBBd iminastrbtors n dùng B sp_who @loginame='DomainName\Administrators' Người ta chia BBstem stored procedures thành loại sauB Hình BBB Hộp thoại Quản trị nguồn liệu BDBB User DBNB Bhỉ có người tạo sở dụng máB dùng BBstem DBNB Bất Bỳ sử dụng máB nàB dùng File DBNB Bó thể copB sử dụng dễ dàng máB Bhác T ạo BBst em DBN BB Bhọn tab BBstem DBN cửa sổ BDBB Data Bource Bdministrator BB Bhọn BddB BB Hộp thoại Breate New Data Bource xuất hiệnB Bhọn tên điều Bhiẻn BBDL ta muốn dùng BB Bhọn Finish BB Bhọn tên nguồn liệu Name (Tên nàB dùng ứng dụng Blient để tham chiếu đến BBDLB nên đặt cho gợi nhớB BB Description định thông tin hiển thị cửa sổ BDBB Bontrol Banel BB Trong hộp thoại BerverB chọn (tên BerverB BQL Berver chứa BBDL mà ta làm việc BB Bhọn Next chọn chế Login vào serverB Bau nhập tên người sử dụng mật BhẩuB Nhấn Next BB Bhọn ô đánh dấu "Bhange the default database"B chọn sở liệu "Data" từ hộp Bết hợp BBB Nhấn NextB Trên hình nhắc ta chọn thông dịch Bý tự B HãB nhấn Next BBB Bàn hình Bế cho ta chọn Bhả Bích hoạt tác vụ ghi nhật Bý BBB Bhọn Finish sau nhấn nút Test Data Bource BBB Nhấn BK B tên nguồn liệu xuất cửa sổ BDBB Data Bource Bddministrator K iểm n ghiệm B ết n ối BB DL B DBB (B in gB Bông việc nàB dùng Bhi cần xác định nguBên nhân trục trặc Bết nối BlientBBerverB BerverB Bết nối mạngB BDBB haB ứng dụng BlientB Bú phápB BDBBBi gne BUUsarNemaB BBdssBoreB BBervB r Ví dụB Để Biểm định Bết nối với BQL Berver = BBDRBBKB UserName= randBB BassBord=Brince BDBBBi gnB BU randB BBprince B BBBDRBBK +Từ dấu nhắc DBBB gõ lệnh BDBBBi gnB BU randB BBprince B BBBDRBBK + BDBBBBNH thiết lập Bết nối với Berver thoátB K iểm n ghiệm BQL B erv er DBN BB Tạo nguồn liệu BDBB tên NoveltB BB Tạo B đề án BtandardBBXB VBB BB Thêm điều Bhiển "Bicrisoft Data Bound Hrid Bontrol" BB Thêm Bhiển DBH ird BB Tạo B form B điều Bhiển Bết nối liệu BB Đổi thuộc tính DataBe Defa ultTB pB = B B UseBBDBB BB Thiết lập thuộc tính DataBBonnect = "BDBBBUBD=randBB BBD=printceB DBN=Data" BB Thiết lập thuộc tính DataBRecordBBet= "BBLBBT * from cauhoi" BB QuB định thuộc tính DBH ird Da Bat c B oure = DataB BBB Thi hành ứng dụngB TruB cập l iệu dùn g điều B hiển l iệu t x a + Điều Bhiển liệu từ xa ( Remote Data Bontrol B RDB cách truB cập liệu từ xa ứng dụng viết Visual BasicB giao diện lập trình tương tự điều Bhiển BDB Data haB DBB DataB + Bử dụng RDB B Trong Visual Basic chọn menu BroBectB Bomponents B Bhọn "Bicrosoft Remote Data Bontrol "B thiết lập tham chiếu đến "Bicrosoft Data Bound Hrid Bontrol "B B Bhọn BK B Tạo instance cho điều Bhiển Remote Data điều Bhiển Data Bound Hrid B Nhập tên người sử dụng vào thuộc tính RemoteData B UserName B Nhập vào mật Bhẩu người dùng truB cập sở liệu vào thuộc tính RemoteData BBassoword B QuB định thuộc tính BQL RemoteDataBBQL = "BBLBBT * from Noidung" B Bhọn DBN cho sở liệu BQL Berver thuộc tính Remote DataBa Da t Bc oureN ameB (DBN tạo trước đâBB xuất danh sách thả xuốngB B Đặt thuộc tính DBH ird Da Bat c B oure = BBRDBB B Thi hành ứng dụng Bử dụng RDB chương trình Đối tượng liệu từ xa (Remote Data BbBec Dt B RB BB xếp cấu trúc phân nhánh đối tượng tương tự DBBB + Tạo tham chiếu đến RDB trước Bhi sử dụngB chọn BroBectB ReferenceB "Bicrosoft Remote Data BbBBec B t BBB" + Bhọn BK BB T hiết l ập B ết n ối dùn g đối t ượn g R DBBonn ect ion Ta dùng đối tượng RDBBonnection để thiết lập B Bết nối đến Berver sở liệu từ xa RDB Để tạo B Bết nối dùng đối tượng RDBBonnectionB ta bắt đầu công việc tạo chuỗi Bết nối BDBB gồm phần tử thông dụngB UBD Tên login người sử dụng BBD Bật Bhẩu người sử dụng DBN Tên nguồn liệu ta tạo trình Quản lý Điều Bhiển BDBB BRBVBR Điều Bhiển BDBB mà ta muốn dùng DBTBBBBB Tên sở liệu mà ta muốn Bết nối BBB Tên ứng dụng Bết nối với BBDL LBNHUBHB Ngôn ngữ quốc tế dùng Berver BBRVBR Tên BQL Berver mà ứng dụng Bết nối đến Ta Bhơng thiết phải dùng tồn tham biếnB Ví dụB DBN=DBNQLBHB UBD=hueBBBD i=mhnhu e Nếu Bhơng cung cấp tên login mật Bhẩu ngời sử dụng vào chuỗi Bết nốiB Bhi ứng dụng nối đến serverB trình điều Bhiển BDBB hiển thị hộp thoại Bêu cầu ngời sử dụng cung cấp thông tin vàoB Thi hành phơng thức BstablishBonnection để thi hành Bết nối Ví dụB Bet rdo = New rdoBonnection rdoBBonnect = "DBN=DBNQLBH" rdoBBstablishBonnection Thi hành truB vấn RDBQuerB RDBResultset chứa Bết mẩu tin trả Dùng đối tợng RDBQuerB để tạo câu truB vấn BQL động đối tợng RDBResualset để chứa Bết mẩu tin trả thông qua phương thức BpenResultset đối tợng RDBQuerB VDB Bublic rdo as rdoBonnection BBBBBBBBBBBBBBBBBBBBBBBB Bublic Bub Form_load(B Bet rdo = New rdoBonnection rdoBBonnect = "DBN=DBNQLBH" rdoBBstablishBonnection Bnd Bub BBBBBBBBBBBBBBBBBBBBB Bublic Bub mbrdo(rq Bs rdoQuerBB rs Bs rdoResultsetB Dim rq Bs rdoQuerB Dim rs Bs rdoResultset Bet rq = New rdoQuerB Bet rqBBctiveBonnection = rdo rqBBQL = "select * from loai" Bet rs = rqBBpenResultset Do Bhile Not rsBBBF Bf rs!maloai = "tv" Then rsBBdit rs!tenloai = "ti vi mau" rsBUpdate BsgBox "mau tin vua duoc sửa" Bnd Bf rsBBoveNext Loop rsBBlose Bnd Bub B Bôn g n ghệ B ct iv eX Dat a B bB ec Dt (BB BB BDB công nghệ truB cập sở liệu hướng đối tượngB BDB xem Bỹ thuật để truB cập sở liệu từ Beb BerverB Vì BDB cung cấp dạng thư viện BctiveX BerverB Ta dùng BDB ứng dụng Visual BasicB Trong thực tế sử dụng BDB để làm việc với sở liệu Blient B Berver dễ Bỹ thuật BhácB BDB giao diện dựa đối tượng cho công nghệ liệu BLB DB Hình BBB Bơ hình lập trình BBDL Blient Berver dùng RDB BDB Ta cần lập trình với phần giao diện người sử dụng phía BlientB Việc truB cập sở liệu trình duBệt Beb haB ứng dụng VB thực nhờ BDBB Bấu trúc nàB cho phép ta lập trình cách quán Beb ứng dụngB Hình BBB TruB cập BBDL từ trình ứng dụng trình duBệt Beb theo BDB Bơ hình BDB Bơ hình BDB trình bàB theo dạng phân cấp (tương tự DBB RDBBB Để lập trình với thư viện BDBB ta phải tham chiếu đến thư viện nàB cách chọn BroBectBReferences…BBicrosoft BctiveX Data BbBBec B t BBBB Hình BBB Bơ hình BDB Bơ hình BDB có B đối tượng cốt lõiB BonnectionB Bết nối BBDL thật sựB BommandB thực thi câu truB vấn dựa vào Bết nối liệuB RecordBậetB tcp cáẩ miu tđ n ược chọn từ câu truB vấn thông qua đối tượng BommandB Bác đối tượng mơ hình BDB Đối t ượn g Bonn ect ion Dùng phương thức Bpen đối tượng Bonnection để thiết lập Bết nối với nguồn liệuB Để thực điều nàB ta cần phải thông báo với BDB thông tin Bết nối với dạng chuỗi theo Biểu chuỗi Bết nối BDBBB Thuộc tính Bonn ect ionBtr in g thực điều nàBB Ngoài ta cịn chọn trình cung cấp cách quB định giá trị thuộc tính Brov ider đối tượngB Để nối Bết với liệuB ta cần xác định trình cung cấp BLB DB chuỗi Bết nốiB Nếu Bhông xác định hai Bếu tố nàBB ta sử dụng trình cung cấp mặc định BDBBB BBDBBQLB Bột số trình cung cấp có sẵnB Bicrosoft BLBDB cho trình điều Bhiển BDBBB Bicrosoft BLBDB cho BracleB Bicrosoft Jet BBBB BLBDB (BccessBB Bicrosoft Jet BBB BLBDB (BccessB Bicrosoft BLBDB cho BQL BerverB Bicrosoft BLBDB cho dịch vụ thư mụcB Ví dụB Đối với trình cung cấp BDBBB thuộc tính BonnectionBtring DBN haB Bết nối Bhơng có DBN (DBN cấp thấpBB Dim cn Bs BDBD eBBBonnct ion Bet cn = New BDBD eBBBonnct ion cnBBrovider = "BBDBBQL" cnBBonnectionBtring = "DBN=Baigiang" cnBBpen Kết nối DBN cấp thấpB Dim cn Bs BDBD eBBBonnct ion Bet cn = New BDBD eBBBonnct ion cnBBrovider = "BBDBBQL" cnBBonnectionBtring = "DRBVBR={BQL Berver}B” B _ “DBTBBBBB=BaigiangBUBD=mBuserBBBD=mBpasswordB" cnBBpen Trong trường hợp nàB việc Bết nối với sở liệu Berver thực nhanh chương trình Bhơng cần đọc thơng tin DBN máB BlientB tuB nhiên thông tin nguồn sở liệu lại Bết chặt với chương trình biên dịchB Để Bết nối với sở liệu BccessB ta dùng trình cung cấp Jet với chuỗi Bết nối đường dẫn đến tập tin Bmdb Dim cn Bs B DB D eBBBonn ct ion B et cn = N ew B DB D eBBBonn ct ion cnBBrov ider = "B icroBo ftBJ etBBLB DBBBBB" cnBBonn ect ionBtr in g = " dBB da at Bbaigia gn B d m b" cnBBp en Đối với sở liệu BQL BerverB ta dùng trình cung cấp BQLBLBDBBBB trường hợp nàBB chuỗi Bết nối tương tự trường hợp Bết nối dùng trình cung cấp BDBB Bhơng có DBNB tuB nhiên ta Bhơng cần xác định giá trị DRBVBRB Dim cn as BDBD eBBBonnct ion Bet cn = New BDBD eBBBonnct ion cnBBrovider = “BQLBLBDBBB” cnBBonnectionBtring = “DBTBBBBB=DBHH _ B” B B “BBRVBR=wwwBUBD=userBBBD=user” cnBBpen Bở đóng nối Bết nguồn liệu Để phát Bêu cầu đến nguồn liệu sử dụng BDBB ta cần mở Bết nối đến nguồn liệu phương thức Bpen đối tượng BonnectionB Bú pháp đầB đủ sauB connectionBBpen [connect]B [userid]B [password] Tất tham số phương thức Bpen tùB chọnB thông số nàB xác định thông qua thuộc tính Bhác đối tượng Bonnection ta Bhông cần mô tả chúng đâBB Khi hoàn thành tất thao tác liên quan đến nối Bết nàBB ta cần phải đóng nối Bết cách tường minh thông qua phương thức Blose đối tượng BonnectionB connectionBBlose Đóng nối Bết cách tường minh đảm bảo tất tài nguBên liên quan đến nối Bết nàB Berver Blient giải phóng cách hợp lýB Xác định vị trí trỏ Bon trỏ (BursorBB tập mẩu tin trả cho chương trìnhB Vị trí trỏ xác định nhờ thuộc tính BursorLocation (có đối tượng RecordsetBB Bó B giá trị địnhB adUseBlientB trỏ phía BlientB adUseBervcrB ỏ on trh paíe Bervặ r (mc địnhBB Thực thi câu truB vấn hành động Bác câu truB vấn hành động (BnsertB UpdateB DeleteB thực nhờ phương thức Bxecute đối tượng BonnectionB phương thức nàB sử dụng để thực thi thủ tục lưu trữ sẵn sở liệu haB câu BBLBBTB Bú pháp phương thức nàB sauB Nếu Bhơng có Bết trả vềB connectionBBxecute BommandTextB RecordsBffectedB Bptions Bó Bết trả vềB Bet recordset = connectionBBxecute (BommandTextB RecordsBffectedB BptionsB Trong đóB B connectionB Đối tượng BonnectionB B recordsetB Đối tượng Recordset Bết trả phương thức BxecuteB tuB nhiênB người ta thường Bhi sử dụng cách nàBB ThaB vào đóB người ta thường sử dụng phương thức Bpen đối tượng RecordsetB B BommandTextB chuỗi xác định câu truB vấn hành độngB BBLBBTB thủ tục lưu trữ sẵn haB tên bảng sở liệuB B RecordBffec et B d TùB chọnB số nguBên dài (LongB xác định trình cung cấp trả mẩu tin thỏa điều BiệnB B BptionsB TùB chọnB số nguBên dài (LongB xác định trình cung cấp đánh giá đối số BommandText nàoB Thuộc tính BodeB Xác định trình cung cấp hạn chế truB cập đến sở liệu Bhi có recordset mởB Bác giá trị làB Hằng số Hiá trị Ý nghĩa adBodeUnBnown B Bặc địnhB định quBền hạn chưa thiết lập haB Bhông thể xác định adBodeRead B Bở Recordset với quBền đọc adBodeBrite B Bở Recordset với quBền ghi adBodeReadBrite B Bở Recordset với quBền đọcBBghi B B adBodeBha er De nBRe B ad Ngăn người Bhác quBền đọc mở Bết nối với adBodeBha er De nBBr B ite Ngăn người Bhác quBền ghi mở Bết nối với adBodeBha er Bc xB lus BB ive Ngăn người Bhác mở Bết nối adBodeBha er De nBNo BB ne Ngăn người Bhác mở Bết nối với quBền Đối t ượn g R ecor ds et Để Bhởi tạo đối tượng Recordset ta thực hai cáchB Bhương thức Bxecute đối tượng BonnectionB TuB nhiên cách nàB ta tạo Recordset đọc di chuBển tớiB Xác lập thơng số thích hợp cho đối tượng Recordset thực thi phuơng thức Bpen đối tượng RecordsetB Điều nàB thực nhờ bướcB o Bau Bhi Bhởi tạo đối tượng BonnectionB định Recordset đối tượng Bonnection trênB o Thiết lập thuộc tính thích hợp Recordset (BourceB LocBTBpe…BB o Thực thi câu truB vấn nối Bết nhờ phương thức BpenB T hu ộc tín h BursorTBp e (lo ại tr ỏB Xác định loại trỏ trả từ sở liệuB Bác giá trị nhậnB Hằng adBpenForwar dBnlB Hiá trị Bơ tả B Bhỉ di chuBển phía trước adBpenKeBset B Không thể thấB mẩu tin người dùng Bhác thêm vào Bhi họ xóa haB sửa đổi mẩu tin làm ảnh hưởng đến mẩu tin ta làm việcB adBpenDBnami c B Bó thể thấB toàn thaB đổi người dùng Bhác tác độngB adBpenBtatic B Bản tĩnh tập mẩu tinB Bọi thaB đổi người dùng Bhác ta Bhông thấB T hu ộc tín h Lo cBTBp e (K hó a m ẫu t inB Xác định cách thức Bhóa mẩu tin RecordsetB Dùng tính nàB Bhi muốn Biểm soát cách thức cập nhật mẩu tin với nhiều người dùng sở liệuB Hằng Hiá trị Bô tả adLocBReadBnlB B Bặc định B Bhỉ đọcB adLocBBe issimistB B c Khóa trang bi quanB Bẩu tin RecordBb et ị B hóa Bhi bắt đầu sửa đổi B tiếp tục Bhóa Bhi thi hành phương thức Update haB di chuBển sang mẩu tin BhácB adLocBBptimist B ic Khóa trang lạc quanB Bẩu tin bị Bhóa ngaB lúc thi hành phương thức Update haB di chuBển sang mẩu tin BhácB adLocBBa cth Bpti B mistic Khóa trang lạc quan hàng loạtB Hỗ trợ cập nhật nhiều mẩu tin lúcB T hu ộc tín h Bour ce ĐâB chuỗi xác định câu truB vấn để lấB liệuB tên bảng haB tên thủ tục lưu trữ sẵnB T hu ộc tín h B ct iv eBonn ect ion ĐâB thuộc tính đối tượng xác định Recordset nối Bết chương trìnhB 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 = 0 Then MsgBox "Khong ket noi duoc CSDL" Exit Sub Bnd Bf Bnd Bub Private Sub HienDanhSachSoXe() ‘Thực hiện 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 dữ liệu lên ListBox If RS.RecordCount > 0 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 hiện truy vấn lấy các trường của xe được 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 Hiendulieulayduoclencỏctextboxtngng IDSoxechon=rsCTXe!IDSoxe txtTaixe.Text=rsCTXe.Fields("TenLaiXe") txtTaitrong.Text=rsCTXe.Fields("Taitrong") txtSoxe.Text=soxechon EndSub PrivateSubHientieudeListView() lvChitietVC.ColumnHeaders.Add1,,"Ngàyvậnchuyển",2500 lvChitietVC.ColumnHeaders.Add2,,"Tênkháchhàng",2500,lvwColumnLeft lvChitietVC.ColumnHeaders.Add3,,"Địachỉ",2500,lvwColumnLeft lvChitietVC.ColumnHeaders.Add4,,"Cớcvậnchuyển",2500,lvwColumnLeft lvChitietVC.View=lvwReport EndSub Brivate Bub HienBhitietVanBhuBen(B DimiAsInteger DimrsCTVCAsNewADODB.Recordset DimsqlCommandAsString 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 1 End If End Sub Yêu cầu Biểm tra đánh giá nội dung Kết nối ứng dụng với sở liệu BB BQL Berver thông qua đối tượng BDBB BLBDB môi trường lập trình ứng dụng Bindows mơi trường lập trình BebB TBB LB ỆU T GBB K GẢB [B] James RB HroffB Baul NBBeinbergB BQLB The Bomplete ReferenceB BcHrawBHillBBsborneB BBBBB [B] Diana LorentzB BQL ReferenceB Bracle BorporationB BBBBB [B] Trần NguBên BhongB Hiáo trình BB BQL Berver Trường Đại học Khoa học HuếB BebsiteB httpsBBBwwwBmicrosoftBcom ... đun Hệ quản trị sở liệu Bicrosoft BQL Berver BB BBB BỤB TBÊU BÔ ĐUN XâB dựng ứng dụng chuBên nghiệp theo mơ hình BlientBBerver hệ quản trị sở liệu BB BQL BerverB Quản trị hệ quản trị sở liệu. .. BerverB Bục đích giáo trình trang bị cho học viên Biến thức Bỹ xâB dựngcác ứng dụng chuBên nghiệp theo mơ hình BlientBBerver hệ quản trị sở liệu BB BQL Berver B quản trị hệ quản trị sở liệu BB BQL... VỊ TRÍB TÍNH BHẤT BỦB BƠ ĐUN Vị trí B Bơ đun Hệ quản trị sở liệu Bicrosoft BQL Berver B mô đun nâng cao mô đun Hệ quản trị sở liệu Bicrosoft BQL Berver B mà người học học giai đoạn BB Tính chất