intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình Nhập môn lập trình VB6: Phần 2

Chia sẻ: Minh Vũ | Ngày: | Loại File: PDF | Số trang:184

133
lượt xem
29
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nối tiếp nội dung phần 1 cuốn giáo trình "Nhập môn lập trình VB6", phần 2 giới thiệu tới người đọc các nội dung: Làm việc với điều khiển dữ liệu, đối tượng ADO và cơ sở dữ liệu Access, làm việc với cơ sở dữ liệu SQL Server, làm việc với DataReport, làm việc với Crystal Report, biên dịch - Đóng gói - Triển khai. Mời các bạn tham khảo.

Chủ đề:
Lưu

Nội dung Text: Giáo trình Nhập môn lập trình VB6: Phần 2

  1. Chương 10: Làm việc với diều khiển dữ liệu Chương 10: LÀM VIỆC VỚI ĐIỀU KHIỂN DỮ LIỆU 0O0 Ca sở da liệu là phần không thể thiếu khi xây dựng ứng dụng quản lý trong chương này chúng ta làm quen cách tương tác với cơ sở dữ liệu Access trẽn Visual Basic 6.0 với các điều khiển trình bày dữ liệu. Visual Basic 6.0 cung cấp các control như Data, ADODC, DBGrid, DataGrid, MSFlexGrid cho phép bạn cập nhật và trình bày dữ liệu Access trong chương này chúng ta sử dụng hai loại ca sở dữ liệu Access 7.0 (Northwind.mdb) và 2000 (Test.mdb). Các vấn đề chinh sẽ được đê cập: 0 Làm việc với điều khiển Data. ộ Data và DBGrid, MSFlexGrid, VSFlexGrid. ộ Làm việc với điều khiển ADODC. ộ ADODC và DataGrid, MSHFlexGrid, VSFlexGrid. 1. LÀM VIỆC VỚI ĐIỂU KHIỂN DATA Data cho phép bạn kết nối các loại cơ sở dữ liệu dạng tập tin như Access, Excel, FoxPro, Paradox, Lotus, Text, ... Để làm việc với control này trước tiên chúng ta tìm hiểu các thuộc tính của chúng: 1.1. Connect Thuộc tính Connect cho phép bạn chọn loại cơ sô dừ liệu để kết nối, mậe định của thuộc tính này là Ãccess. Tuy nhiên, bạn có thể chọn các loại cơ sở dữ liệu khác dược liệt kê trong danh sách.
  2. B I * 850 Chương 10: Lảm việc vđi điều khiến dữ liệu 1.2. DatabaseName Sau khi chọn loại cơ sở dữ liệu cần kết nối, thuộc tính DatabaseName cho phép bạn chọn tên tập tin cùng với đường dẫn. Để tránh trường hợp đường dẫn không phù hợp khi triển khai ứng dụng trên máy khác, bạn có thể khai báo đường dẫn và tên tập tin cho thuộc tính này bằng mã trong biến cố Load của form. Chẳng hạn, chúng ta sử dụng cơ sở dữ liệu Northwind.mdb trong cùng thư mục, khai báo thuộc tính này trong biến cố Load của form như ví dụ 10-1. Ùí dụ 10-1: Khai báo thuộc tính DatabaseName Private Sub Form_Load () Me.Datal.DatabaseName = _ "D:\csharp\ExampÌe\Northwind.mdb" Enđ Sub Tuy nhiên, khai báo ở trên là địa chỉ cố định, bạn có thể sử dụng hàm App.Path hay CurDir để khai báo đường dẫn hiện hành của tập tin như VI dụ 10-2. í dụ 10-2: Khai báo thuộc tính DatabaseName Private Sub Form_Load() Me.Datal.DatabaseName = _ App.Path&"\Northwind.mdb" ' App.Path hàm trà về đường dãn cùa thư mục hiện hành End Sui) 1.3. RecordSetType Thuộc tính này cho phép bạn chỉ định loại dữ liệu sẽ trình bày trên control lấy từ cơ sở dữ liệu, ví dụ bạn chọn Table trong thuộc tính RecordSource thì trong thuộc tính ReeordSetType sẽ chọn Table. Tuy nhiên, mặc định của thuộc tính này là Dynaset. 1.4. RecordSource Sau khi chọn tên cơ sở dữ liệu trong thuộc tính DatabaseName (cơ sở dữ liệu Northwind.mdb), để tương tác với dữ liệu, bạn khai báo tên đối tượng Table hay Query của cơ sở dữ liệu Access trong thuộc tính này.
  3. Chương 10: Làm việc với diều khiên dữ liệu 251l i ! Chẳng hạn, trong trường hợp này chúng ta thêm f«rm vào prọịect và dặt tên là frmData, kế đến thêm Data Control vào form và đặt tên là Daíal, sau dó thêm 3 TextBox vào form tương ứng với 3 cột trong bảng Customers là CustomerlD, CompanyName và ContactName như hình 10-1. Sau khi thêm 3 TextBox vào form, trong thuộc tính DataSource của TextBox bạn chọn Datal. Trong thuộc tính Dataĩield của mỗi TextBox bạn chọn tên field tương ứng trong bảng Customers là CustomerlD, CompanyName và ContactName. ; Data Control jnjxj CustomerlD N.FKI Company Name ỊAHreds Futleikiste Contact Name MariaAndersANHHAI jl
  4. 252 Chương 10: Làm việc với diều khiến dữ liệu Ngoài ra, người sử dụng có thể thay dổi giá trị trên Ficld cùa bảng Customers, dữ liệu sẽ tự động cập nhật mỗi khi người sứ dụng di chuyển đến mẩu tin khác. Trong trường hợp muốn cho người sử dụng thêm mới mầu tin khi họ nhân nút • (nhân khi con trỏ đang ở mẩu tin cuối cùng) cùa Data Control như hình 10-2, bạn có thể khai báo giá trị Add Nem cho thuộc tính EOFAction, giá trị mặc định của thuộc tính này là MoueLast. ị : Main - [Data Control] - l o i xi Hil Controls CustomerlD Company Name Ị Contact NameỊ M
  5. Chướng 10: Làm việc với điều khiến dữ liệu 253 Nếu bạn không muốn cho phép người sử dụng cặp nhật dữ liệu thì khai báo Trúc cho thuộc tính RcadOnly của Data Control. 2. DATA VÀ DBGRID, MSFLEXGRID, VSFLEXGRID Để trình bày dữ liệu của Access trên các lưới, bạn có thể sử dụng các control như: DataGrid, DBGrid, MSFlexGrid. 2.1. DBGrid Để sử dụng DBGrid, trước tiên thêm vào projcct một form và đặt tên frmDBGrid, kế đến bạn thêm DBGrid từ cửa sổ Components như hình 104. Compcments fT"T-™r- xi sai. •§*-¥.í, í •.>«*-• • ì Controls I Designers I Inseitable Obịects I • LDVPUI ActiveX Control module 3 • LDVPVeiw LANDesk Virus Protect Task module • MapInfo MapX V3 • Micr05oft ActiveMovie Control • Microsoft ActiveX Plugin • Microsoft ADO Data Control 6.ũ (OLEDB) • Microsoít Agent Control 2,0 • Microsoít Calendar Control 8.0 • Microsoít Chart Control 6.0 (OLEDB) • Microsoft Cũmm Control 6.0 • Microsoít Common Dialog Controỉ 6,0 (5P3) Browse.. • Microsoít Data Bound List Controls mẵ 6.0 T Selected Items Ordy li I SI Mlcrosoít Dâta Bound Grid Control 5.0 (SP3) Location: C:\WIMNT\SYSTEM32\DBGRID32.0CX 0K Cancel Apply Hình 10-4: Thêm DBGrid vào project
  6. Chương 10: Làm việc VỚI điều khiển dữ liệu Trường hợp control này không xuất hiện trong danh sách Controls, bạn có thê chọn nút Broicse để tìm kiếm tập tin nguồn cùa nó có tên DBGrid32.ocx trong thư mục System32 (hoặc System). Sau khi tim thấy biểu tượng DBGrid trên ToolBox, bạn thèm DBGrid vào frmDBGrid và đặt tên DBGridl, copy hay thêm Data Control vào frmDBGrid và khai báo thuộc tính như trình bày ờ trên. Trong cửa sổ thuộc tính cùa DBGridl, bạn khai báo Datal cho thuộc tính DataSource như hình 10-5. ịsíOU ÉfeB«ì % • SI Ế? *4ỉfnủ*i.' M li ^ ™ĩ JSJx| í MMM' ỊoeGndl DSSnd J 4^bebc |categrád| ỉattloer •ỉ*exrX0056 ãordsrStyte ! - F[»d 5rt>! ìaptnn Caus«vaíứetfXL ĩ-ue 1 IcàjTrneadws Tui O-Boụnd _J >f.c/*x»-. ũ d jragkcn (Ncne) >>^c
  7. Chương 10: Làm việc với diều khiên dữ liệu 255 í Main - [DBGrid and Data Controls] liiB Controls _ CustomerlD ìũũ CompanyName ContactName Cont H m Khang Lan ALFKI AKreds Fut(etkiste MariaAndeis ANH Hbale ANATR Ana Truịillo Empared Ana Truịillo Own ANTON Antonio Moreno TaqAntonio Moreno ũwn AROUT Around the Hom Thomas Hardy Sale BERGS Berglunds snabbkòp Christina Berglund Orde BLAUS Blauer See Delikates Hanna Moos Sale BLONP Blondel père et fils Frédérique Citeaux Maá BOLID Bólido Comidas ptep.Martín Sommer Own BON ÁP Bon aDũ' Laurence Lebihan ŨWI>L 8 M Hình 10-6: Danh sách mẩu tin trình bày trẽn DBGrid Đôi với trường hợp bạn khai báo chuỗi SQL cho thuộc tính RecordSource thì không nhất thiết phải thực hiện các bước Retrieve Fields như trên, thay vào đó bạn khai báo dể gán chuỗi SQL trong biến cố Load của form. Chẳng hạn, chúng ta thêm form vào project và đặt tên là frmSQL, kế đến thêm Data và DBGrid Control vào frmSQL. Sau đó, khai báo tên cơ sở dữ liệu và chuỗi SQL dạng Select trong thuộc tính DatabaseName và RecordSource như ví dụ 10-4. "í dụ 10-4: Khai báo thuộc tính DatabaseName Private Sub Form_Load() Me-Datal.DatabaseName = _ App.Path&"\Northwind.mdb" Me .Datal. RecordSource = "Select CustomerlD, CompanyName, ContactName f rom Customers Víhere Countrỹ='USA'" End Sub Thúc thi chương trình bạn gọi frmSQL, kết quả trinh bày như hình 10-7.
  8. Chương 10: Làm việc với diều khiến dữ liệu i Mãn - [SQL and DBGrid] I HI ị M2Ú íỊiB Controls úsm ICustomerlD CompanyName ContaclName niũREALM Great Lakes Food MHoward Snyder HU NGŨ Hungrv Coyote ImpoiYoshi Latimer LAZYK Lazy K Kountry StoreJohn Steel LETSS Let's Stop N Shop Jaime Yoríes LDNEP Lonesome Pine RestFran Wilson 0LDW0 Old World DelicatessRene Phillips RATTC Rattlesnake Canyon Paula Wilson SAVEA Save-a-lot Matkets Jose Pavarotti SPLIR Split Rail Beer & AleArt Btaunschweiger THEBI The Big Cheese Liz Nixon THECR The Ciackeí Box Liu Wona li i [ • M Hình 10-7: Khai báo chuỗi SQL trong thuộc tính RecordSource Mặc định của thuộc tính AllouiUpdate là Trúc, người sử dụng có thể thay đối dữ liệu trên DBGrid, dữ liệu sẽ cập nhật vào cơ sở dữ liệu Access ngay sau khi người sử dụng di chuyên con nháy sang mẩu tin khác. Nếu muốn không cho phép người sử dụng cập nhật dữ liệu từ lưới, bạn có thề khai báo False cho thuộc tính AlloivUpdate. Tương tự như vậy, DBGrid còn có hai thuộc tính AlloivDelete và AlloivAddNciv, cả hai thuộc tính này có giá trị mặc định là False, nếu muốn người sử dụng có thể thêm mới hay xóa mẩu tin trên DBGrid thi bạn gán giá trị là Trúc Nếu khai báo giá trị Trúc cho thuộc tính AllouiAddNeiv thì khi người sứ dụng di chuyển đến phần cuối của DBGrid, một hàng thêm mới có dấu * đầu hàng xuất hiện như hình 10-8. Khi người sứ dụng chọn hàng trên DBGrid và nhấn phím Delete, nếu thuộc tính AlloivDelete là False thì ô đầu tiên sẽ được kích hoạt. Nếu giá trị trong thuộc tính này là Trúc mẩu tin sẽ bị xóa khỏi Tablc.
  9. Chướng 10: Làm việc với điếu khiển dữ liệu Ị ! Maĩn - [DBGrid and Data Controls] - l a i xi !|B Controls - l a i xi CustomerlD CompanvName ContaclName Con) VICTE Victuailles en stock Mary Saveley Sale VINET Vins et alcools Chev.Paul Heniiot Acc( WANDK Die Wandernde KuhRitaMuller Sale V/ARTH Wartian Herkku pirkko Koskitalo Accc WELLI v/ellington ImportadcPaula Pafente Sâle V/HITC White Clover MarketKarUablonski Own V/ILMK Wilman Kala Matti Karttunen Own WŨLZA Wolski Zaịazd Zbjiszek Pies(rzeniev * r~ " — r Hình 10-8: Thêm mới mẩu tin Lỗi sẽ phát sinh khi mẩu tin có liên quan với các mẩu tin của bảng khác có ràng buộc thì lỗi bật ra như hình 10-9. Ịv The record cannot be deleted or changed because table 'Orders' trcludes relateđ - * records. Hình 10-9: Lỗi phát sinh khi xóa mẩu tin Do có nhiều Fields trình bày trên DBGrid, khi chạy chương trình người sử dụng phải di chuyển đến các Fields cuối cùng và Fields dầu tiên bị che khuất. Đọi với trường hợp này chúng ta có thể chia DBGrid ra thành hai phần, khi di chuyển phần thứ hai thì phần thứ nhất vẫn đứng yên. Để làm điều này, bạn thêm form vào prọịect và đặt tên frmSplit, thêm Data và DBGrid control vào form rồi khai báo tương tự như trên. Trong màn hình thiết kế, chọn DBGrid I R-Click I Edit, sau đó tiếp tục chọn DBGrid I R-Click I Split thì DBGrid sẽ chia ra hai phần như hình 10-10.
  10. 258 Chương 10: Làm việc với điều khiến dữ liêu : Main - [Split] itB Controb CustomcilD CompanvNỉ CustomerlD Comoanv -*> ỹ?M Khang • A0001 Khang ALFKI Atreds Fu(t( ALFW AĨfteds_F~ ANATR Ana Tiupdo 1 ANATR Ana ĩ lúp ÁN! ÔN Antonio Mót ANTON Antonio V ARŨUT Around the 1 AROUT Aiound tỉ BERGS Beiglunds SI BERGS Beiglund BUUS Blauei See 1 BLAUS Blauer S( BLONP Blondel pèf( BLONP Blondel p BOLID Bólido Comií BOLID Bólido Cc 4 Bị)NAP Bon 3DD' 4 Bị)NAP Gòn àDD'JL • •r Hình 10-10: Split thành hai phần Nếu muốn loại bỏ đường phán cách vừa tạo ra, bạn có thề thao tác tương tự bằng cách chọn DBGrid I R-Click I Remove hoặc chọn DBGrid I R- Click I Edit và sau đó chọn DBGrid I R-Click I Remove. Trong phần thứ nhất tồn tại thanh cuộn, bạn có thể che dấu thanh cuộn này bằng cách chọn DBGrid í R-Click I Properties, chọn ngăn Splits cửa sổ thuộc tính xuất hiện như hình 10-11. Geneid I Keyboard I Cdumn. I Lsyoư I Côte I Fort Spto Ị Si* |S|*0 " 3I Locked SctolGix*): ScioJBat£ AJk}wFocux [ĩ |0 None AlovvSéing AlowfìowSizing Ị 6 - Floating Edilor RecoidSdecIon SeeMode lo Scaiable ~3 Iteị Hình 10-11: Khai báo thuộc tính cho phẩn Split
  11. Chương 10: Làm việc với điều khiển dữ liệu Trong phần Split bạn chọn vào Splito và tiếp tục chọn Nom trong phần ScrollBars. Tương tự như vậy, bạn có thể loại bỏ dấu chọn trên mỗi hàng của phần thứ hai hay thứ nhất. Lưuỷ: • Bạn có thể cho phép điều chỉnh kích thước cùa hàng trên từng phần của DBGrid. • Trong trường hợp không cho phép chọn dữ liệu trên từng phần bạn có thể check vào thuộc tinh Locked. • Bạn có thề định nghĩa Caption cho tùng cột dữ liệu trên DBGrid thay vi sử dụng tên mặc định cùa Field trong Table. Ngoài ra, khi chia DBGrid thành hai phần, bạn có thể khai báo thuộc tính cho từng cột của từng phần trên DBGrid bằng cách chọn ngăn Layout. Khi chạy chương trình, dấu chọn chỉ xuất hiện trong phần hai của DBGrid như hình 10-12. i Main - [Split] BÊU": M 1 ìliB Controls CustomerlD 5 CompanyName CustomerlD Cornpani 3 AŨ0Ũ1 Khang A0001 Khang ALFKI Alíreds Futterkis ALFKI Alíreds Fi KNATR Ana Ttuịillo Ernp Q ANATR Ana TruịiH ANTON Antonio Moreno ANTON Ar.tonio ị AROUT Around the Hotr AROUT Atound tí BERGS Betglunds snabl BERGS Berglund BLAUS Blauer See Delil BWUS Blauer S( BLONP Blondel pète et I BLONP Blondel ĩ. m I ỈA 4 ì • M Hình 10-12: Định dạng cho DBGrid
  12. BÍT 260 Chương 10: Làm việc với điểu khiển dữ liệu 2.2. MSFlexGrid Để sử dụng MSFlexGrìd, trước tiên thêm vào prọíect một form và dặt tên frmMSFlexGrid, kế đến bạn chọn Microsoft FlexGrid Control 6.0 từ cưa sổ Components. Để trình bày dữ liệu bằng control này, trước tiên thêm form vào project và đặt tên frmMSFỈexGrid, kế đến thêm MSFlexGrid và đặt tên MSFlexGridl, thêm Data Control vào form và dặt tên Datal cùng với khai báo thuộc tính RecordSource như ví dụ 10-5. ủ í dụ 10-5: Khai báo thuộc tính DatabaseName Private Sub Form_Load() Me.Datal.DatabaseName = _ App.Path& "\Northwind.mdb" Me.Datal.RecordSource = "Select CustomerlD, CompanyName,ContactName f rom Customers where_ Countrỹ='OSA'" End Sub Đẽ không xuất hiện cột cô định cùa MSFlexGrid, bạn khai báo thuộc tính FixedCols là 0. i Main - [MSFIexGrid] TBBI Uill Controls CuslometlD Ị CompanyNaỊ CorrtactNairỊ ContaclT MeỊẠch ẠQPỌ1 I Khang Lan ALFKI Alíreds Futte MatiaAndet SalesRepre Obi ANATR^ Ana Tiuịillo [ Ana TruỊillo ũwner ị Avt ÃNTÕN AntonioMot Antonio Moi Ownei Ma AROUT Aiqund the t T homas H át s ales R epre^ 12C RFR(ÌR Rprnlunrbĩ sr rhíistin^ RRI rirHRrAHmin R Hình 10-13: Khai báo MSFlexGrid Trong trường hợp bạn muốn giới hạn số mẩu tin hay số cột trình bày trên MSFlexGrid, bạn có thể khai báo chuỗi SQL trong thuộc tinh RecordSource như sau:
  13. Chương 10: Làm việc với diều khiên dữ liệu Me.Datal.RecordSource = "Select CustomerlD, CompanyName, ContactName f rom Customers Where_ Countrỹ='USA'" Khi đó, kết quả trình bày trên MSFlexGrid có dạng như hình 10-14 ì Main - [M5FlexGrid] .ĨỊlB Controls CustomeilD CompanyNal ContactNarrl GREAL Great Lakes HowardSnyB HUNGC Hungry Coyt Yoshi LatimeB Lazy K KourJohn Sleel 1 LETSS Let's stop NJâime YorreíB LONEP Lonesome FFran Wilson 1 OLDV/0 Old World DRene Phillip i RÁT TI": RfltHfi
  14. HÍP 262 Chương 10: Làm việc với điếu khiến dữ liệu í dụ 10-6: Khai báo thuộc tính RecordSource Private Sub Form_Load() ' Chỉ định tên ca sở dữ liệu Me.Datal.DatabaseName = _ App.Path&"\Northwind.mdb" ' Giới hạn dữ liệu bằng cách sử dụng mệnh để Where Me.Datal.RecordSource = "Seleot CustomerlD, CompanyName, ContactName f rom Customers where_ Country='USA'" End Sub Nếu không xuất hiện cột cố định của VSFlexGrid, bạn khai báo thuộc tính FixedCols là 0 từ cửa sổ thuộc tính hay bằng mã. Khi đó, kết quả trình bày trên VSFlexGrid có dạng như hình 10-15. Ị : Main - [VSFlexGríd] ỉjiB Controls _|ÍP|X| CuslomeilD ị CompanyName ContactName ầ ẠOỌpl ị Khang Lan ALÍKI Aldeds Futterkiste MariaAndersANH h AN ÁT R Ana T ruịillo E mpatedados y helados Ana Ttuịillo ANTŨN A ntonio Moreno Taqueiia Antonio Moreno ARŨUT A round the Hom Thomas Hatdy BERGS Berglunds snabbkop Christina Berglund BIAUS Blauer See Delikatessen Hanna Moos BLŨNP Blondel pèrẹ et lils >'ỉ,' .Tị.Frédérique Citeaux 1J Ị Hình 10-15: Sử dụng VSFlexGrid Lưu ý: • Bạn phải cài đặt VSFỈexGrid trước khỉ muốn sử dụng điếu k • Điều khiển MSHFlexGrid và DataGrid không sử dụng điểu k Data. • VSFlexGrid không cho phép xóa, thêm, kích hoạt hay cập nh liệu trực tiếp trên lưới.
  15. Chương 10: Làm việc vời diều khiển dữ liệu 263 mi • Khi sử dụng VSFlexGrid, người sử dụng không thể di chuyển mẩu tin bàng cách chọn trên Datal, chinh vì vậy bạn nên che dâu control này khi thục thi chương trinh. 3. L À M V I Ệ C V Ớ I Đ I Ề U K H I Ể N A D O D C Tương tự như điều khiển Data, ADODC (Microsoft ADO Control 6.0 (OLEDB)) là diều khiển cho phép bạn nhúng dữ liệu từ cơ sở dữ liệu SQL Server hay Access, đặc biệt là cơ sở dữ liệu Access phiên bản 2000 trờ về sau. Với diều khiển này, bạn có thể sử dụng các điếu khiển lưới như DataGrid, MSHFlexGrid, VSFlexGrid dể trình bày dữ liệu. Để sử dụng ADODC làm việc với cơ sở dữ liệu Access, trước tiên chúng ta tìm hiểu các thuộc tính của chúng: • 3.1. ConnectionString Thuộc tính ConnectìonString cho phép bạn khai báo chuỗi kết nối cơ sở dữ liệu với các thuộc tính như loại trình điều khiên cơ sở dữ liệu để kết nôi cùng với phiên bản cơ sở dữ liệu, tên cơ sở dữ liệu Access. Nếu sử dụng cửa sổ thuộc tính để định nghĩa thuộc tính này, bạn chọn dấu cửa sổ xuất hiện như hình 10-16. General 1 - Source of Cormectbn — : li r UseDal aLi nkFì le ị li r~ I iĩõĩvsẽ ỉ p c ụ se ŨDBC Data Source Name li ị ' 31 N,w Ị 1* UseConnecHonSbing " I ỉ B»M~ ỉ othei AHtibutés: [ ŨK ị Cancd ị Apply Ị Help Hình 10-16: Khai báo thuộc tính ConnectionString
  16. l a * 264 Chương 10: Làm việc vái diêu khiển dữ liệu Bằng cách chọn vào nút Build, cửa sổ kế tiếp xuất hiện yêu cầu bạn chọn trình điều khiên cơ sở dữ liệu, trong trường hợp sử dụng cơ sỡ dữ liệu Access phiên bản 7.0 (Access 97) trờ về trước, bạn chọn vào Microsofì Jet 3.51 OLE DB Provider. Tuy nhiên, khi sử dụng cơ sở dữ liệu Access 2000 trờ vê Sâu, bạn chon Microsoft Jet 4.0 OLE DB Provider như hình 10-17. m Data Lĩnk Propertĩes Provider I Cormection I Advanced I A U I Select the data you wart to connect ta ŨLE DB Provider(s) Crystal Seivei Closed Integtator Base Crystal Server ClosedXML ADO Provider FtpRecordset OLE DB Provider MediaCatalogDB ũ LE DB Provider MediaCalalogMergedDB ŨLE DB Ptovider MediaCatalogWebDB OLE DB Piovidet Microsoít ISAM MicrosolUet 4.01Ũ .1LEũ L DEB D B Providet Provider Microsolt Ũ L3.51 Microsolt Jet EDB Provider ũ LE Dfof BD TS Packages Ptovider Microsoíl OLEDB Providerfoi Indexing Seivice Mictosott ũ LEDB Provider(oi Internet Publishing Microsoít ŨLEDB Providertoi Miciosoít Seaich Mictosolt OLEDB ProviderÍ0f ODBC Dtivets Microsof( ŨLEDB Providerfor ũ LÁP Services MicrosoítOLE DB ProvidetÍ0f Olap Services 8.0 MiciosoítOLE DB Provider(ót Oiacle Next» 0K Cancel Help Hình 10-17: Chọn trình điều khiển ca sở dữ liệu Access Nhấn nút Next, bạn chọn cơ sở dữ liệu Access bằng cách nhấn vào nút ... trong phần "Select or enter a database name", để kiểm tra kết nối cơ sớ dữ liệu có thành công hay không, bạn chọn vào nút Test connection.
  17. Chường 10: Làm việc với điều khiển dữ liệu 265 Chú ý rằng, phần username và po^sivord bạn giữ thông tin mặc định. Để khai báo và sử dụng điều khiển này, bạn thêm form vào project và đặt tên frmADODC, thêm 3 textbox ứng với CustomerlD, CompnayName, ContactName của bảng Customers trong cơ sờ dữ liệu Northwind.mdb. Nếu kết nối cơ sở dữ liệu Access thành công, thông báo xuất hiện như hình 10-18. Trong trường hợp phát sinh lỗi, thông báo xuất hiện như hình 10-19. i!l-r!r'iM' ll'i J Ì *J Test connection succeeded. OK Hình 10-18: Kết nối thành công Microsoft Data Link Error Test cormectlon faHed becsuse of an ef ror inrtialiángprovider. Coừd nót find fje © D ' :\baiday\VB60CB\Exaniple\Chapter-10\Northwindsmdb.' 0K Hình 10-19: Kết nôi không thành công Sau khi kết nối thành công, bạn nhận chuỗi kết nối với nội dung tương tự như sau: Provider=Microaoft.Jet.OLEDB .4.0; Data Source=D:\Chapter-10\Northwind.mdb; Persist Security Info=False Tuy nhiên, đây là chuỗi kết nối với tên và đường dẫn cố định, bạn có thể khai báo chuỗi kết nối cơ sở dữ liệu bằng cách sử dụng hàm App.Path trong biến cốLoad của form như ví dụ 10-7. í dụ 10-7: Khai báo thuộc tính ConnectionString Private Sub Form_Load() ' Chi định tên ca sò dữ liệu
  18. B I * 266 Chương 10: Làm việc với điều khiển dữ liệu Me.ADODC1.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;"_ "Data Source= & App.Path &_ \Northwind.mdb; Persiat Security Info=Pal8e" End Sub 3.2. CommandType Thuộc tính này cho phép định nghĩa kiểu đối tượng mà bạn sẽ đọc và điền vào điều khiển ADODC. Nếu bạn lấy dữ liệu từ một bảng dữ liệu thì chọn adCmdTable. Nếu dữ liệu lấy từ phát biểu SQL dạng Select thì chọn adCmdText. Tương tự như vậy, nếu dữ liệu được lấy từ dối tượng thủ tục hệ thống, bạn chọn adCmdStoredProc. Trong trường hợp không biết đối tượng cẩn tham chiếu, bạn có thể chọn adCmdUnknovun (giá trị mặc định của thuộc tính CommandType). 3.3. CommandTimeout Thời gian lởn nhất tính bằng giây (mặc định là 30 giây) cho phép chuỗi SQL truy vấn dữ liệu từ cơ sở dữ liệu. Nếu thời gian truy vấn vượt quá thời gian khai báo trong thuộc tính này thì kết quả trả về lỗi tương ứng. 3.4. ConnectionTimeout Thời gian lớn nhất tính bằng giây (mặc định là 15 giây) cho phép kết nối thành công vào cơ sở dữ liệu. Nếu thời gian kết nối vượt quá thời gian khai báo trong thuộc tính này thì kết quả trả về lỗi tương ứng. 3.5. CursorLocation Cho phép bạn khai báo cursor chạy trên phía Client hay Server. Đối với trường hợp bạn sử dụng cơ sở dữ liệu Access, mặc định của Cursor là chạy trên Client. 3.6. CursorType Gán hay trả về một giá trị chỉ định kiểu cursor sử dụng khi mở một tập dữ liệu từ câu truy vấn hay đối tượng khai báo trong thuộc tính RecordSource.
  19. Chương 10: Làm việc với điểu khiên dữ liệu 3.7. Mode Cho phép bạn khai báo chế độ đọc, ghi dữ liệu trên tập dữ liệu đang mở. 3.8. ReeordSource Sau khi khai báo thuộc tính ConnectString, bằng cách chọn thuộc tính RecordSource để khai báo dữ liệu bạn cần lây để trình bày. Trong trường hợp khai báo bằng cửa sổ thuộc tính, bạn chọn dấu cửa sổ xuất hiện như hình 10-20. Property Pages Xi RecordSeurce I -RecordSource- Command Type 8 - adCmdUnknown ~3 Table or Stored Procedure Name Command Text (SQL) "3 ti BÉ) Tí'v' ã *v - '.'i-í:'*'-' k vị 1 l 0K. Ị Cancel Apply Help Hình 10-20: Khai báo thuộc tính RccordSource Bạn có thể chọn kiểu dối tượng cần khai báo trong thuộc tính này bàng cách chỉ định trong danh sách CommandType, đối với trường hợp này chúng ta chọn adCmdTable. Sau khi chọn adCmdTable, lập tức danh sách các Table hay Query (Vieui) sẽ xuất hiện trong danh sách Table ÓT Stored Procedure Name như hình 10 21.
  20. 268 Chương 10: Làm việc VỚI điếu khiến dữ liêu Nếu bạn chọn CommandType là adCmdUnknoivn hay adCmdText thi ngăn khai báo Command Text (SQL) xuất hiện cho phép bạn khai báo phát biểu SQL dạng Select chẳng hạn. Property Pages RecordSoutce I RecoidSoutce— Command Type ị 2 • adCmdTable "3 Table OI Stored Ptocedure Name OK Cancel AppỊy Help Hình 10-21: Chọn Table trong thuộc tinh RecordSource Lưu ý: • Bạn cỏ thể sử dụng cơ sở dữ liệu Access 97 hay phiên bản m tùy thuộc vào trình điều khiển bạn chọn trong phán Provide • Ngoài ra, bạn có thể khai báo chuỗi kết nôi ca sở dữ liệu và tượng table hay chuỗi SQL trong thuộc tính RecordSource cách khai báo trong biển cố Load của form. • Bạn có thể khai báo thuộc tinh ConnectionTimeout trong ch nối cơ sở dữ liệu bàng mã. Trở lại frmADODC, trong thuộc tính DataSource của 3 textbox UxtlD. txtName, txtContact) bạn chọn ADODC1, sau dó khai báo thuộc tính DataField cùa từng textbox tương ứng với Filed là CustomerlD. CompanyName, ContactName kết quà trình bày như hình 10-22.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2