1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Tin học quản lý: Phần 2

34 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 1,14 MB

Nội dung

Nối tiếp phần 1, Bài giảng Tin học quản lý: Phần 2 tiếp tục cung cấp cho học viên những kiến thức về cấu trúc lệnh, lệnh điều kiện, toán tử so sánh; thiết kế biểu mẫu dùng các điều khiển; các thành phần giao diện cơ bản trong Window; mảng, làm việc với các phần tử trong mảng; VB.NET kết nối cơ sở dữ liệu dùng ADO.NET;... Mời các bạn cùng tham khảo!

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN I BÀI GIẢNG TIN HỌC QUẢN LÝ NGƯỜI VIẾT: Ths TRỊNH THỊ VÂN ANH HÀ NỘI - 2013 CHƯ NG 4: CẤU TRÚC LỆNH 4.1 L ều ki n Quy ịnh ki u Conditional Logic ngu n mã g m loại:  Loạ tìm hi xử lý ph r ậ hoặ i phó v i trở ngại ị rư c hay bất ngờ Thí dụ ư: n mở 10 tậ ọ , rư c h t ta c n ki m tra xem tập tin có diện hay khơng? N u khơng, ta ph i làm gì? N u có, ta c n ki m tra xem tậ ượ ọc h ? ó, ta lập lạ c ki m r i tập tin k  Loạ thi hành ph r ậ d a d kiệ ụ ư: n gở n 10 khách hàng danh sách v u kiện khách hàng , u không ta ph ện thoạ n khách hàng Các cú pháp (syntax) dùng ệ : Cú pháp 1: n làm quy ịnh If (điều kiện) Then (mã thi hành điều kiện thỏa mãn, nghĩa = True) End If Thí dụ: 'Tuyên bố biến số giá trị cho intYourAge Dim intYourAge intYourAge = 70 'Quyết định công bố kết If intYourAge => 65 Then MessageBox.Show ("You should retire") End If Cú pháp 2: Quy ịnh v i tình trạ r ược If (điều kiện) Then (mã thi hành điều kiện thỏa mãn, nghĩa = True) Else (mã thi hành điều kiện không thỏa mãn, nghĩa = False) End If Thí dụ: 'Tuyên bố biến số giá trị cho intYourAge Dim intYourAge intYourAge = 40 'Quyết định công bố kết If intYourAge => 65 Then MessageBox.Show ("You should retire.") Else MessageBox.Show ("You are too young to retire.") 45 End If Cú pháp 3: Quy ịnh v i nhi u tình trạ i hay khác If (điều kiện 1) Then (mã thi hành điều kiện thỏa mãn, nghĩa điều kiện = True) ElseIf (điều kiện 2) Then (mã thi hành điều kiện thỏa mãn, nghĩa điều kiện = True) Else (mã thi hành không điều kiện thỏa mãn, nghĩa điều kiện điều kiện = False) End If Thí dụ: 'Tuyên bố biến số giá trị cho intYourAge Dim intYourAge intYourAge = 50 'Quyết định công bố kết If intYourAge => 65 Then MessageBox.Show ("You should retire.") ElseIf intYourAge => 45 Then MessageBox.Show ("You should pay more to your current scheme.") Else MessageBox.Show ("You are too young to worry about.") End If Cú pháp 4: Quy ịnh quy ịnh (Nested If) If (điều kiện 1) Then (mã thi hành điều kiện thỏa mãn, nghĩa điều kiện = True) If (điều kiện 2) Then (mã thi hành điều kiện thỏa mãn, nghĩa điều kiện = true điều kiện = True) End If End If Thí dụ: 'Tuyên bố biến số giá trị cho intYourAge Dim intYourAge intYourAge = 65 'Quyết định công bố kết If intYourAge > 55 Then MessageBox.Show ("You should retire.") 46 If intYourAge = 65 Then MessageBox.Show ("You must retire.") End If End If Chú thích: N u ta 55 tu i, MessageBox hi n thị hàng ch ' r r ', u ta ú 65, x ẽ hi n thị hàng ch 'You must retire' Sở dỉ u kiệ r u kiện 55 tu i ậy tu i ta có th 60 hay 70 miễ r 55 ượ , kèm thêm mộ u kiện n có th hi n thị hàng ch 'You must retire' s tu i vừa ú 65 Cú pháp 5: Dùng If hàng mã có th gọ ô g cấp cấ rú ậ rõ r ườ ọ If (điều kiện) Then (mã thi hành điều kiện = True) Else (mã thi hành điều kiện = False) If (điều kiện) Then (nếu điều kiện =True, thi hành mã 1: mã : mã 3: ) ki u cú pháp không c n ph i có End If cu i hàng Thí dụ: Dim count As Integer If count = Then MessageBox.Show ("Count = 8") Else MessageBox.Show ("Count is not 8") If count = Then MessageBox.Show ("Count = 8") : count = count + : MessageBox.Show ("Count is now " & count) Chú thích: u tiên, ta tuyên b bi n s (variables) count , so sánh v i giá trị hi n thị k t qu Hàng If thứ nhì, ta hi n thị k t qu , ộng thêm vào bi n s (variables) coun , ậy count (cu i cùng) = count (v i giá trị 8) + hi n thị k t qu Count is now mã từ xu i, ta thấy mã dễ ọc, dễ hi : Dim count As Integer If count = Then MessageBox.Show ("Count = 8") count = count + MessageBox.Show ("Count is now " & count) End If 4.2 Toán tử so sánh 47 ù ki m tra di u kiện, không nh ng ta so sánh ( = ) khơng thơi, mà cịn so sánh nhi u ki u khác n a Gọi chung dấu so sánh (Comparision Operators) g m có:  < > : dấu không (Not Equal To)  < : dấu nhỏ  > : dấu l  < = : dấu nhỏ ặc  > = : dấu l ặc  AND : dùng ki r u kiện  OR : dùng ki r u kiện hoặ u kiện Ví dụ: If yourSurName < > "Vu" Then MessageBox.Show("You are not my relative") End If If yourAge < 18 Then MessageBox.Show("You can not drive a car") End If If yourSurName > 21 Then MessageBox.Show("You can marry") End If If yourAge = 65 Then MessageBox.Show("You must retire") End If If yourAge >= 18 AND yourHeigth >= 1.60 Then MessageBox.Show("You can be a movie star") End If If yourPreferredDrink="Rượu" OR yourPreferredDrink="Bia" Then MessageBox.Show("You are dân nhậu") End If Chú thích: Nh c thêm cách dùng AND OR r u kiện Ta bi u kiệ ược ki m tra cho bi t giá trị True (hay 1, hay 'ON', T t hoặ ) ặc False (hay 0, hay 'OFF', Mở Khoá) dễ nh , ta thi t lập b ng sau: 1: AND Đ ều ki n A Đ ều ki n B Kết Chú thích 0 N u A False B False, k t qu sau False N u A False B True, k t qu sau False 0 N u A True B False, k t qu sau False 1 N u A True B True, k t qu sau True Ta 48 thấy có mộ rường hợp True v i dấu AND c u True 2: OR Đ ều ki n A Đ ều ki n B Kết Chú thích 0 N u A Fasle B False, k t qu sau False Ta thấy có mộ rường hợp False v i dấu OR c u False 1 N u A False B True, k t qu sau True 1 N u A True B False, k t qu sau True 1 N u A True B True, k t qu sau True 4.3 So sánh xâu Khi so sánh ch , ường gặp trở ngạ ô n chữ ường hay chữ Hoa (case sensitive) Nh iv , ậy, ch a ường khác v i ch A Hoa chúng có giá trị khác Thí dụ 1: Dim mySociety As String mySociety = "VOVISOFT" If mySociety = "Vovisoft" Then MessageBox.Show("You are a Vovisoft's member") Else MessageBox.Show("You are not a Vovisoft's member") End IF Thí dụ 2: dùng Compare method c a String object so sánh ch : Dim mySociety As String mySociety = "VOVISOFT" If String.Compare (mySociety, "Vovisoft", True) = Then MessageBox.Show("You are a Vovisoft's member") Else MessageBox.Show("You are not a Vovisoft's member") End IF Chú thích: String.Compare ù so sánh giá trị c a String tr v s nguyên (Integer) sau so sánh N u method tr v s 0, ĩ hay câu gi ng v giá trị, tr v s khác s 4.4 L nh lựa chọn ại thứ hai Conditional Logic thi hành ph n khác ậ d a nh u kiệ ụ ư:  N u khách hàng A, gở ịa khách hàng A  N u khách hàng B, gở ịa khách hàng B 49 N u khách hàng C, gở ịa khách hàng C  N u khách hàng D, gở ịa khách hàng D  N u khách hàng E, gở ịa khách hàng E Ta có th ù : If khách hàng = "A" Then gởi email đến địa khách hàng A ElseIf khách hàng = "B" Then gởi email đến địa khách hàng B ElseIf khách hàng = "C" Then gởi email đến địa khách hàng C ElseIf khách hàng = "D" Then gởi email đến địa khách hàng D ElseIf khách hàng = "E" Then gởi email đến địa khách hàng E End If Tuy nhiên, n u ta mu i khách hàng thành công ty chẳng hạn, ta ph i ch khách hàng câu If mộ , ậy qu phi n phứ ô ă ấ cách dùng cú pháp Select Case : Cú pháp (Syntax 1): Select Case công ty Case "A" gởi email đến địa công ty A Case "B" gởi email đến địa công ty B Case "C" gởi email đến địa công ty C Case "D" gởi email đến địa công ty D Case "E" gởi email đến địa công ty E End Select : Khi dùng Select Case, ệ ch ường ch Hoa, ụ: công ty A khác v i công ty a Cú pháp 2: ù chọ rường hợp g m nhi u kiện có gi : Select Case strMyContactName Case "A", "B", "E" MessageBox.Show ("Chào bạn học!!", "Greeting") Case "C", "D" MessageBox.Show("Hay tham gia nhe!", "Greeting") End Select r , ấ rường hợp A, B E có chung gi rường hợp C D 50  Cú pháp 3: ù rường hợp ngoại lệ Case Else: Select Case strMyContactName Case "A", "B", "E", "C", D" MessageBox.Show ("Chào bạn học!", "Greeting") Case Else MessageBox.Show ("Hay tham gia!", "Greeting") End Select 4.5 Vòng lặp Looping Logic ù r rường hợp c n lậ ập lại nhi u l ( ú a, s l n nhấ ịnh) việc thi hành mộ ô , ụ: cộng thêm 10 s n phẩm vào b ng liệt kê s n phẩm c a công ty, hi n thị (display) CD nhạc tuyệt phẩ u ă loạ n c a Looping Logic - For loop Do loops bao g m:  For Next  For Each In Next  Do Until Loop  Do While Loop  rường hợ ặc biệt Cú pháp 1: For số lần đếm từ số đến số (thi hành công việc đó) Next Thí dụ 1: 'Tun bố biến số dùng làm counter Dim intCounter For intCounter = To 10 MessageBox.Show ("Vovisoft", "Greeting") Next Thí dụ 2: 'Tuyên bố biến số dùng làm counter Dim intCounter For intCounter = 10 To 100 Step 10 MessageBox.Show ("Vovisoft", "Greeting") Next Chú thích: Thí dụ 1, tạo bi n s ( r For Next loop, ta hi n thị Thí dụ 2, l m ta nh inCounter = 10 l u tiên, k Cú pháp 2: ) r m từ n 10, l v i hàng ch Vovisoft 10 c (hay cộng thêm 10 vào s l m) b 20, 30, n 100 51 ậy uv i For Each In (thi hành cơng việc đó) Next Thí dụ: Liệt kê tất c ụ phụ ( r) r ĩ (r r r r drive C) 'Biến array dùng lưu trữ ngăn chứa phụ (subfolders) Dim subFolders( ) As DirectoryInfo subFolders = New DirectoryInfo("C:\").GetDirectories 'Loop liệt kê ngăn chứa phụ (subfolders) dĩa C Dim subFolder As DirectoryInfo For Each subFolder In subFolders lstData.Items.Add (subFolder.FullName) Next Chú thích: tạo bi n s (variables) loại Array tr c thuộ ượ DirectoryInfo Dùng method GetDirectories c j r r lấ r ụ phụ r ĩ , ù For Each Next loop ki m tra từ array subFolders cộng tên c vào b ng liệt kê tên lstData Cú pháp 3: Do Until (điều kiện) (thi hành cơng việc đó) Loop Thí dụ: Liệt kê s ngẫu nhiên chấm dứt loop s 10 'Bố trí object tạo số ngẫu nhiên Dim random As New Random( ) 'Khai baos biến số chứa số ngẫu nhiên mặc định Dim intRandomNumber As Integer = 'Loop số intRandomNumber = 10 Do Until intRandomNumber = 10 'Tạo số ngẫu nhiên intRandomNumber = random.Next (25) 'cộng vào bảng liệt kê tên lstData lstData.Items.Add (intRandomNumber) Loop Chú thích: Ta dùng random ệ (instance) c j tạo s ngẫu nhiên (random number generator) r r giá trị n s (variables) intRandomNumber Khi giá trị s 10, ta chấm dứt việc cộng s vào b ng liệt kê tên lstData Cú pháp 4: 52 ược lại v i Do Until Loop Do While Loop Do While Loop thi hành ều ki n True, ược lại v i Do Until Loop chấm dứ ều ki n True Do While (điều kiện) (thi hành công việc đó) Loop Thí dụ: Liệt kê s ngẫu nhiên chấm dứt loop s = 10 n 10 'Bố trí object tạo số ngẫu nhiên Dim random As New Random( ) 'Khai bao biến số chứa số ngẫu nhiên mặc định Dim intRandomNumber As Integer = 'Loop số intRandomNumber < 10 Do While intRandomNumber < 10 'Tạo số ngẫu nhiên intRandomNumber = random.Next (25) 'cộng vào bảng liệt kê tên lstData lstData.Items.Add (intRandomNumber) Loop Chú thích: ù r ệ c j tạo s ngẫu nhiên (random number r r) r W r giá trị n s (variables) intRandomNumber Khi giá trị s nhỏ 10, ộng s ng liệt kê tên lstData, n u không, ta chấm dứt loop Cú pháp 5: n khác c a Do Until Do While: Do (thi hành công việc đó) Loop While (điều kiện) Do (thi hành cơng việc đó) Loop Until (điều kiện) Phiên b n khác phiên b rư c ch :  Thi hành công vi c rư c  i ki r u kiệ ti p tục hay chấm dứ , ậy t i thi u, công việ ược thi hành l n C c rường hợp ặc bi t: Nested Loops: Nhi rường hợp c n hay nhi u loop algorithm, tỷ ư: 'Tuyên bố bố trí hàng cột Dim intRow, intColume As Integer 'Loop hàng từ hàng thứ đến hàng 10 For intRow = To 10 53 gán giá trị hàm InputBox nhờ vòng lặ F r… x ộ nội dung c a m lạ ược hi n thị lại vào mộ x x ũ vòng lặ F r… x Thi t k giao diện: Tạo m i gi i pháp thêm vào d án có tên MyFixedArray Thi t k giao diệ ì 6.1 r Hình 6.1 Màn hình thi t k x “ n nhiệ ộ”, : ú “ n thị nhiệ ộ”, “ ” t mã: rư c h t ta khai báo m ng nhietdo ò F r : Dim nhietdo(6) As Single ĩ ất c th tụ , u có th sử dụng m ng Ti p theo ta tạo s kiện nhập vào giá trị nhiệ ộ tu n cách tạo th tục Button1_Click nhậ ã : Private Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim Prompt, tieude As String Dim i As Short Prompt = "Điền vào nhiệt độ ngày." For i = To UBound(nhietdo) tieude = "Ngày " & (i + 1) nhietdo(i) = CInt(InputBox(Prompt, tieude)) Next End Sub r , ( ) v s c a m ng nhietdo, rường hợ n thị giá trị nhiệ ộ b y ngày tu ũ rị nhiệt ộ trung bình th tụ 2_ ười dùng click vào nút “ n thị nhiệ ộ” : Private Sub Button2_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button2.Click 63 Dim ketqua As String Dim i As Short Dim tong As Single = ketqua = "Nhiệt độ tuần: " & vbCrLf & vbCrLf For i = To UBound(nhietdo) ketqua = ketqua & "Ngày " & (i + 1) & _ vbTab & nhietdo(i) & vbCrLf tong = tong + nhietdo(i) Next ketqua = ketqua & vbCrLf & _ "Nhiệt độ trung bình: " & _ Format(tong / 7, "0.0") TextBox1.Text = ketqua End Sub Th tục lại sử dụng vòng lặ F r… x duyệt lại ph n tử m ng sau ã ược gán giá trị th tục button1_Click Bi ượ ù làm chuỗi k t xuất gộp giá trị ph n tử m ng Sau l n gộp ta sử dụng s r i u n dấu ng t dòng dấu v ò (ư i hai hàm Chr(13) Chr(10)) Hằ phân cách gi a ph n ghi ngày ghi nhiệ ộ Ta tạo th thục Button3_Click nhập phát bi k ú rì ạy rì : Khi chạ rì ậ giá trị nhiệ ộ cho ngày 6.4 Tạo mả ộng Việc dùng m ng thuận tiện Tuy nhiên ta t xác s ph n tử c a m ì ? Ví dụ ta mu ười dùng nhập vào nhiệ ộ tùy thích, nhập nhi ì ộ xác cao VB gi i quy t việc m ộ cm ộng ược ị rì c thi không ịnh lúc vi t mã Việ rư c m ng không c n thi ũ c n dành chỗ rư c cho m c tạo m ộng: - Chỉ ịnh tên ki u cho m ng thi t k form, ví dụ Dim nhietdo() As Single ãx ị cm rì c thi Ví dụ rì chạy ta hỏ x ười dùng mu n nhập ngày, ví dụ: Dim songay As Integer songay = InputBox("Ban muon nhap bao nhieu ngay?", "Tao mang dong") - Dùng bi ịnh lạ c m ng (trừ ì ng tính từ 0) Ví dụ If songay > Then ReDim nhietdo(songay - 1) - Ti ù ( ) x ịnh s ph n tử c a m ng Bây làm lại ví dụ sử dụng m ộng: - rư c h t, ta khai báo lại m ộng khai báo bi n songay chứa s ười dùng mu n nhập bằ ã i dòng khai báo l p form1: Dim nhietdo() As Single Dim songay As Integer 64 ửa lại mã c a th tụ 1_ : Dim Prompt, tieude As String Dim i As Short Prompt = "Điền vào nhiệt độ ngày." 'Nhap so muon ghi nhiet songay = InputBox("Ban muon nhap bao so ngay?","") If songay > Then ReDim nhietdo(songay - 1) For i = To UBound(nhietdo) tieude = "Ngày " & (i + 1) nhietdo(i) = CInt(InputBox(Prompt, tieude)) Next - Ti p theo thay s th tục Button2_Click bi n songay: ketqua = ketqua & vbCrLf & _ "Nhiệ ộ trung bình: " & _ Format(tong / songay, "0.0") - Ta có th dùng phát bi r … b t lỗi n ười dùng nhập vào s nhỏ - - Chạy lạ rì t qu rõ r ộ 65 CHƯ NG 7: VB NE 7.1 ADO.NET Ế N IC ADO.NET ỞD IỆU D NG ì ActiveX Data Object.NET (ADO.NET) mộ ện ph n m m NET Framework Bao g m thành ph n ph n m m cung cấp dịch vụ truy cập d liệ ược thi t k cho phép nhà phát tri n vi ã ược qu n lý cho việc ti p cận ngu n d liệu bị ng t k t n i, có th có quan hệ không quan hệ ( ặc d liệu ứng dụng) Tính ă a ADO.NET giúp ứng dụng có th chia sẻ d liệu hay ứng dụng phân tán ADO.NET cung cấp k t n i truy cập v i CSDL cách sử ụ NET Managed Provinder (mặc định Net Framework có hai Managed Provi OleDB Managed Provider) truy cập bị ng t k t n i cách sử dụng Datasets, ứng dụng sử dụng k t n d liệu thời gian truy xuất d liệu cập nhật d liệu Datasets thành ph ú ỡ r d liệu liên tục nh cung cấp truy cập bị ng t k t n i sử dụng ngu d liệu cách hiệu qu kh ă rộng t ược phát tri n từ , ũ ột công nghệ ư i mộ i cấ rú n Mặc dù có mộ rường hợ làm việc ch ộ bị ng t k t n i cách sử dụ , liệ ược chuy n CSDL ADO.NET hiệu qu ằng cách sử dụng Data Adapters ại diện nh c a d liệu gi a ADO ADO.NET khác ADO.NET có th gi d liệu b ng k t qu nhấ , nhi u b ng v i chi ti t c a m i quan hệ Không gi , ệc truy n d liệu gi a ứng dụng cách sử dụng ADO.NET không sử dụ ( j ) s p x p mà dùng datasets, truy n d liệ ột dòng XML Ki n trúc ADO.NET d a hai y u t : Dataset NET Framework data provider Data provides g m thành ph n sau : Datasets - Một tập hợ c a CSDL bao g có liên quan , ràng buộc m i quan hệ c a chúng - Chứ ă r ập d liệu từ xa từ dịch vụ Web XML - Thao tác v i d liệ ộng - Xử lý d liệu theo ki u không k t n i - Cung cấp cho xem thứ bậc XML c a d liệu quan hệ - Xử dụng công cụ XSL r hoạ ộng d liệu NET Framework Data Provider bao g m thành ph thao tác d liệu : - Connection: Cung cấp k t n i v i ngu n d liệu (database) Hay nói cách khác ượng có nhiệm vụ th c k t n i t i CSDL - Command: Th c thao tác c n thi t v lấy d liệu, sử i d liệu th c th tụ ượ r Hi r ệnh lệ iv i CSDL 66 - DataReader: Cung cấp việ ọc d liệu ọc dòng d liệu thờ m ọc theo chi u ti n từ n cu i r: rò u n i gi a Dataset CSDL, t i d liệu lên dataset hoặ ng i dataset v lại CSDL : r , truy cập từ xa lập trình v i d liệu phẳng (Flat), d liệu XML d liệu quan hệ ADO.NET cho phép: - Thao tác v i CSDL c ô rường Connected data & Disconnected data - Làm việc t t v i XML - ược v i nhi u ngu n d liệu - Làm việ r ô rường internet 7.2 Lập trình v i ADO.NET d liệu quan trọng việ r thơng tin D liệu có nhi u ngu n ạng VB.NET ược thi t k v i mụ r xuất, hi n thị, phân tích ệ ADO.NET mơ hình lập trình truy xuấ ệ chung cho tất c ngôn ng trình Windows V i , ú có th truy xuấ n hệ ệ theo cách thứ ã rì 7.2.1 Thu t ngữ sở li u Một s thuật ng v ệ : ệ file t chức thông tin thành b ng gọi (Table) - Mỗi b ng bao g m nhi u hàng cột, cộ ườ ược gọ rường (field) dòng ược gọ tin (record) Mơ hình truy xuất ệ ADO.NET: thi t lập k t n n ệ Ti ượ u ph ( r) ược tạ r truy vấn dl từ b tạ ượng DataSet chứa b ệ ú mu r ệ DataSet tạo b n c a b ệ mà Cu i gán thông tin ượng hi n thị r F r x x, , , r ,… 7.2.2 Làm vi c vớ sở li u Access MS Access có tên ã t cách k t n liệu vào dataset, xây d ng tích hợp chúng vào giao diện c a form ú tạo m i Solution có tên MyADOForm thêm vào d án tên Chọn View | Server Explorer từ cửa s r r x r r ì sau: 67 Hì ệ ệ ụ ộ ô ụ họa cho phép k t n ệ cục bộ, server theo mơ hình client server Ta có th ù xem cấ rú r ệ , xem thuộc tính c a b ng, ki ệ c rườ r ệ ú có th kéo k t n i b ệ cửa s tạ r ượ ệ rì ú ù , bằ ộ vào nút Connect To DataBase cửa s Server Explorer Một hộp thoại Choose Data Source cho phép ta chọn ngu n ệ ì 72 ệ ọ ú chọn Microsoft Access DataBase File thoại Add ì sau: 68 ệ ọ ú ệ , xuất hộp ì 73 ệ ọ ườ ẫ ệ ệ ọ ường dẫ ệ cách ọ nút Browse, chọn ệ Students.mdb ú có th ki m tra xem k t n i có thành cơng khơng cách ọ ú , ũ tùy chỉnh k t n i cách ọ nút Advanced ú thấy dòng mã k t n i ô cu i cùng, dịng mã có nội dung : “ r er=Microsoft.Jet.OLEDB.4.0;DataSource="D:\Data\Studying\VS.Net05\Bai tap\DataBase\ "” Nhấ thêm k t n i vào Server Explorer 7.2.3 Tạo ều ph i li u Data Adapter r ệ tạo u ph i Data Adapter Data Adapter ị ĩ x ng thông tin mà ta mu n lấ r ệ , n n t tạo DataSet VB.NET cung cấp nhi u cách tạo u ph n ta kéo bi ượng b ng Server Explorer vào cửa s form ch ộ thi t k ũ thứ hai dùng công cụ Data Adapter Configuration Winzard Ta gọ n công cụ cách chọn i ượng OledbDataAdapter tab Data c a ToolBox ặt lên form 7.2.4 Sử d ượ ều n OleDbDataAdapter Chọn tab Data cửa s ToolBox Tab u thao tác v ệ r ượ u cho phép tạo k tn ệ ú ã t n i Server Explorer nên không c n hai ượng n a 69 ượng OleDbDataAdapter vào form N ượng khơng xuất hiện, ta có th thêm vào cách ộ vào tab Data chọn Choose Item, xuất cửa s Choose ToolBox Items Chọn tab Net Framework Components chọ r ọ hoàn thiện việc thêm Item cho ToolBox ú ũ th v ượng khác r ược thi t k k tn ệ Access Khi kéo th ượng vào r ì VS.NET tao trình Data Adapter Configuration Winzard Một hình khở , ọ x chuy n sang hình thứ hai ọ Next hai l xuất hình soạn th o câu lệnh SQL N u ú ù câu lệnh SQL, có th nhấn vào nút Qu r r, ù ỗ rợ ọ b ng Instructors, ọ Add, ọ ửa s lại ấ b r r ô x ứng v rường, Query tạo câu lệ ứ rút thông tin c a b ng Trong ụ rút thông tin từ cột b ng, ọ cột Instructor ì 7.4, ọ OK (câu lệ r rút d liệu) ì 7.4 Chọ rườ xây d ng câu lệnh SQL 70 ì 7.5 Giao diện Form Sau nhấn OK, cửa s Generate The SQL Statement hi n thị câu lệnh SQL ta vừa tạo ọ F ệc tạ ượ u ph i 7.2.5 Làm vi c với DataSet ú ta tạ r ượng trình diễn d liệ ườ ù , ượng DataSet Nó nh c ệ nên thao tác c ười dùng ưở ệ n có yêu c u cập nhật r ụ tạ ượng DataSet trình diễn thông tin cột Instructor c a b r r r ệ Students.mdb ọ ọ form1 n u không chọn lệnh tạo DataSet khơng hi n thị menu Chọn Data | Generate DataSet từ làm xuất hộp thoại Generate DataSet ú ặt tên tùy thích New, ụ DsInstructors Chọn checkBox r Visual Basic r ô ụ ọ OK ượng DataSet r r ược tạo khay cơng cụ VB.NET t thêm vào file có tên DsInstructors.xsd cửa s Solution Explorer File chứa thông tin v d liệu theo khuôn dạng XML 7.3 Sử dụ ú c c ụ ều khiển ràng buộc li u u x x, , ược ta ràng buộc d liệu (data binding), ứ d liệu u n phụ thuộc vào ngu n d liệu có DataSet hay d liệ r rì hi n thị r DataAdapter ú a ràng buộc d liệu v u n sau: TextBox, Label, ListBox, x, , r r x r ặc biệt DataGrid, cho phép ta hi n thị toàn nội dung c a DataSet Trong ụ ta ràng buộc d liệ x x hi n thị thông tin b ng Instructors c ệ Students.mdb ú thi t k giao diệ r ì 8.5 r ộc tính c u : 71 Button First: Name – btnFirst, enable – False Button Last: Name – btnLast, enable – False Button Next: Name – btnNext, enable – False Button Previous: Name – btnPrevious, enable – False Button Load Data: Name – btnLoadData TextBox1: Name - txtInstructors u n cịn lại có thuộ ì Bây ta ti n hành ràng buộc d liệ rường (cột d liệu – field) vào textbox txtInstructors u này, ta chọn ô textbox mở Properties c r ộ vào dấu (+) bên cạnh nhánh thuộc tính DataBindings chọn ô text, ộ vào nút ũ x ng ta có th nhìn thấy ngu n d liệu DsInstructors1 hi n thị danh sách ì : - ì 76 ệ ọ ệ ộ Chọn cộ r r ị rường hi n thị ô textbox txtInstructor ã ệ ràng buộc xong, vi t ã xuất d liệ rì c thi Chúng ta tạo th tục btnLoadData_Click cách cửa s thi t k form ấ ú ộ vào nút Load Data r i nhậ ã rì : DsInstructors1.Clear() OleDbDataAdapter1.Fill(DsInstructors1) btnFirst.Enabled = True btnLast.Enabled = True btnNext.Enabled = True btnPrevious.Enabled = True 72 ã xóa d liệu DataSet DsInstructors1 u ph i DataAdapter1 ậ ậ d liệ ượ r r1 ú ã ạo c bằ ức Fill() Chạy thử rì : ọ F5 ki m thử rì rì ạy, ọ ú rì n thị b u tiên c rường Instructor b ng d liệ ú mở rộng s ă a ứng dụ d liệ ệt b , m hi n thị s b n ghi hành ệ : - Tạo k t n ệ c n truy xuất - Tạ ượ u ph i DataAdapter - Tạ ượng trình diễn DataSet - ràng buộc d liệ u n ị : cập nhật, th ng kê, tìm ki , … 7.4 Tạ c c ều khiển t xem li u ú dừng lại việc ràng buộc d liệu hi n thị ược b u tiên vào ô textbox Trong ph n ti p theo tạo nút cho phép duyệt qua b n ghi khác nhau, xem b u tiên cu i ADO.NET cho phép qu n lý duyệt qua b n ghi (record) bằ ượng CurrentManager V ượng ta có th bi ược vị trí hành , n sau cùng, trở v u tiên, n k , rư Mỗi DataSet u có sẵ ượng CurrentManager mỗ ượ r u có thuộc tính BindingContext theo dõi tất c ượng CurrentManager form Trong ph n ú ã ạo b ú ọ ượ First, Last, Next, Previous Giờ vi t mã cho chúng x , rr r duyệt qua b n ghi Tạo th tục btnFirst_Click v i nộ : Me.BindingContext(DsInstructors1,"Instructors").Position = btnFirst.Enabled = False btnNext.Enabled = True btnLast.Enabled = True ã hi n thị b u tiên c a DsInstructors1 sử dụ ượng BindingContext Nó gán giá trị cho thuộc tính Position ( ị r ) trỏ hành c a d liệu chuy nb u tiên Tạo th tục btnLast_Click nhậ ạn mã sau: 'Đếm tổng số ghi Dim tongsobanghi As Integer = Me.BindingContext (DsInstructors1, "Instructors").Count 'Chuyển trỏ đến ghi cuối Me.BindingContext(DsInstructors1, "Instructors").Position = tongsobanghi - btnLast.Enabled = False btnFirst.Enabled = True btnPrevious.Enabled = True 73 btnNext.Enabled = False Tạo th tục btnNext_Click nhậ ạn mã sau: 'Đếm số ghi hành Dim tongsobanghi As Integer = Me.BindingContext (DsInstructors1, "Instructors").Count 'Nếu chưa phải ghi cuối next lên If Me.BindingContext(DsInstructors1, "Instructors").Position < tongsobanghi - Then Me.BindingContext(DsInstructors1, _ "Instructors").Position += btnFirst.Enabled = True btnPrevious.Enabled = True btnLast.Enabled = True Else btnNext.Enabled = False btnLast.Enabled = False btnFirst.Enabled = True btnPrevious.Enabled = True End If Th tục btnPrevious_Click: 'Nếu chưa phải ghi đầu lùi lại If Me.BindingContext(DsInstructors1,"Instructors").Position > Then Me.BindingContext(DsInstructors1,"Instructors").Position -= btnFirst.Enabled = True btnLast.Enabled = True btnNext.Enabled = True Else btnFirst.Enabled = False btnPrevious.Enabled = False End If Vậ ú ã ạo xong nút cho phép duyệt qua b n ghi ọ F5 chạy rì Ấ ú hi n thị d liệu vào textbox Ấ duyệt qua b r d liệu ọ nút Close góc ph i c r trình lại Chúng ta tạ u n label cho hi n thị vị trí b n ghi hiệ ười dùng tiện quan sát 7.5 Hiển thị vị trí ghi hi n hành duyệt xem b , ũ ười dùng bi n ghi thứ Chúng ta thêm mộ ã hi n thị thứ t c a b n ghi thi t k form thêm vào nhãn label1 có thuộc tính Name lblIndexOfRecord, thuộc tính Text c a ã “ r 0” ạo th tục có tên count() i phát bi u khai báo r : Private Sub Count() 74 Dim tongsobanghi, banghihienhanh As Integer tongsobanghi = Me.BindingContext _ (DsInstructors1, "Instructors").Count banghihienhanh = Me.BindingContext _ (DsInstructors1, "Instructors").Position + lblIndexOfRecord.Text = "Record " & _ banghihienhanh.ToString & "Of " & tongsobanghi.ToString End Sub Th tục gán thuộc tính count c ượng BindingContext vào bi n tongsobanghi thuộc tính Position c a cho bi ộng thêm thứ t b n ghi b ng d liệ ược tính từ ó hai giá trị c a hai bi r ược gán cho thuộc tính Text c u n Label lblIndexOfRecord th tục phát huy tác dụng bạn thêm lời gọi th tục th tục Fr _ , _ , r _ , x_ : Count() rì ú ện ọ F5 chạ rì 7.6 Sử dụ D Gr ể hiển thị li u bảng Trong ph n ù r hi n thị d liệu c a b r ệ Students.mdb ú nộ i d liệu c a b ng dạng chuỗ c s ịnh dạng, s p x p ghi lại nh ng i DataGrid trở lạ ệ Gi x x, Ta có th ràng buộc d liệu DataSet vào DataGrid Ràng buộc thơng qua hai thuộc tính DataSource DataMember Trong MyDataGridBinding ộ nội dung c a b ng Instructors có DsInstructors1 hi n thị r i DataGrid ụ MyDataGridBinding: Tạo m i Solution thêm vào d án tên MyDataGridBinding K tn d liệu: rong ụ rư ú ã tn iv ệ r cửa s Server Explorer có k t n ệ ột gạ ỏởk tn u mu n sử dụng lại k t n i ta việc ọ nút Refresh Trong ụ này, ệ ù ục v i d tiện thao tác Ta chọn nút th c k t n ệ ã t Chọ ệ mà vừa copy vào ục chứa d án ọ hoàn thành k t n i Tạ ượ u ph i DataAdapter: Tạ ượng OleDbDataAdapter vào form cách kéo từ ToolBox r r ột cửa s Data Adapter Configuration xuất ọ Next hai l cửa s Generate SQL Statements Tạ có th t gõ câu lệnh SQL hay sử dụng Query Builder ụ ọ nhập tr c ti p câu lệnh SQL SELECT Extension, PhoneNumber, Instructor, InstructorID FROM Instructors ệ ấ d liệu c b rường b ng Instructors ọ x xem k t qu c a Winzard Lúc này, trình Winzard t tạo câu lệnh Update (cập nhật), Select, 75 Insert (chèn), Delete (xóa) ọ F k t thúc trình xây d ng tạ ượ u ph i DataAdapter có tên OleDbDataAdapter1 Tạ ượng trình diễn DataSet: F r : Chọn Data | Generate DataSet từ menu làm hộp thoại Generate DataSet ã t Tại ô New bạn nhậ r r ấu vào ô checkBox Add r Visual studio tạ r ượ hệ th ọ Visual studio tạ ượng DataSet cho b ng Instructors r ệ Students.mdb Lúc cửa s r ượ ọ ú ã u c a thao tác v ệ sử dụng r trình bày d liệu Tạ ượng DataGrid: Kéo form cho c rộ i DataGrid v i cột 10 dòng u n DataGrid ToolBox vào form Kéo chi u dài c a cho phù hợp v i chi c c a form Tạo thêm nút nhấn n r ặt thuộc tính Name btnLoad x “ ” Mở Properties c r ặt thuộc tính Anchor c a c Left, Right, Top, Bottom Ti p theo ta dùng thuộ r r ràng buộc d liệu r r1 i DataGrid ú hi n thị tùy chọn c a thuộc tính DataSource cửa s Properties Mộ rì có nhi thờ i có th th DataSet mà thôi, ta chọn DsInstructors1 Ti p chọn thuộc tính DataMember Instructors Ngay sau ta chọn xong hai thuộ r r ì i hi n thị cột d liệ ù ò liệu hi n thị D liệu ượ ư rì c thi Chọn nút Load ặt thuộc tính Anchor c a Bottom, Left Lúc giao diện form thi t k ì 7.7 , c n vi ã d liệ i bằ ứ F ã r ụ 7.5 ì 7.7 Cửa s form thi t k xong Tạo th tục btnLoad_Click bằ ú 76 nhập mã sau: DsInstructors1.Clear() OleDbDataAdapter1.Fill(DsInstructors1) Nhấ ú i chạy thử rì ọ F5 chạ rì ọ nú nạp d liệ r i DataGrid: Ta có th c form cho thông tin v ệ xuất hiệ ọ ú rì 7.7 Định c c ô i DataGrid ú ịnh dạng thành ph n DataGrid thông qua thuộc tính c a lúc thi t k hay th rì ụ r : cửa s thi t k form mở thuộc tính Properties c i DataGrid - ặt thuộc tính PreferredColumnWidth 110 (rộ 110 ị x ) - ặt thuộc tính ColumnHeadersVisible False V i thi t lập ph c a cột không hi n thị ọ thuộc tính BackColor, chọn màu vàng nhạt hi n thị cho nội dung chuỗi chứa r ô i tạo dịng xen kẽ - ặt thuộc tính GridLineColor, chọn màu xanh Cịn nhi u thuộc tính khác ta ọ 7.8 Cập nhậ li u trở lại bảng DataSet ti n hành chép b ng c ệ , ô i nội d ệ n có yêu c u cập nhật bằ ức UpDate Cùng v i thuộc tính ReadOnly c a DataSet i hay khơng v ệ cửa s thi t k form mở thuộc tính properties c a DataGrid thi t lập giá trị TRUE i v i thuộc tính ReadOnly cho phép có nh i d liệ r i nút n a form Thuộc tính: Name – btnUpdate, Text – “ ” Nút Update hi n thị có nh i DataGrid cập nhật trở lạ d liệu ườ ù ộ vào Tạo th tục btnUpdate_Click nhập ã : Try OleDbDataAdapter1.Update(DsInstructors1) Catch ex As Exception MsgBox(ex.ToString) End Try Th tục sử dụ ức Update c r1 yêu c u thay i tập DataSet DsInstructors1 trở lại b ệ Khi chạ rì , i nội dung cộ thêm b n ghi n ọ ú cập nhậ ệ ại ọ ú x ệ i khơng 77 ... CDbl(TextBox1.Text) value2 = CDbl(TextBox2.Text) If RadioButton1.Checked = True Then TextBox3.Text = value1 + value2 End If If RadioButton2.Checked = True Then TextBox3.Text = value1 - value2 End If If RadioButton3.Checked... ScoreBoard(0, 2) = 12 gán cho ph n tử dòng 0, cột giá trị 12 6.3 Sử dụng mả có c cc ịnh Bây ta tạo ví dụ MyFixedArray sử dụng m ng chi giá trị nhiệ ộ cao thấp hàng ngày tu n M ược khai báo 62 r ghi... MessageBox.Show ("Vovisoft", "Greeting") Next Thí dụ 2: 'Tuyên bố biến số dùng làm counter Dim intCounter For intCounter = 10 To 100 Step 10 MessageBox.Show ("Vovisoft", "Greeting") Next Chú thích: Thí

Ngày đăng: 01/03/2022, 09:45

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN