Lập trình cơ sở dữ liệu với ADO docx

12 409 5
Lập trình cơ sở dữ liệu với ADO docx

Đ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

LẬP TRÌNH SỞ DỮ LIỆU VỚI ADO Bài 1: Tạo 1 form dùng để quản lý Khóa học trong CSDL SinhVien.mdb, các chức năng: duyệt các mẫu tin, thêm mới, sửa dữ liệu, lưu, xóa và thoát. CÁCH 1: DÙNG CONTROL ADODC1 (không viết dòng cod nào) -> frmKhoa CÁCH 2: DÙNG CONTROL ADODC1 VÀ ĐỐI TƯỢNG RECORDSET (giao diện không dùng control ADODC, mà thiết kế lại) -> frmKhoaTest Option Explicit Dim rs As New ADODB.Recordset Private Sub cmdCuoi_Click() rs.MoveLast txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdDau_Click() rs.MoveFirst txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdLuu_Click() 'kiem tra cac text box da nhap If txtMaKhoa.Text = vbNullString Then MsgBox "Phao nhap Ma khoa", vbInformation, "Loi nhap lieu" txtMaKhoa.SetFocus Exit Sub End If If txtTenKhoa.Text = vbNullString Then MsgBox "Phao nhap Ten khoa", vbInformation, "Loi nhap lieu" txtTenKhoa.SetFocus Exit Sub End If 'cap nhat vao bang rs.Update 'cap nhat lai text dem txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount 'cap nhat lai text box txtTenKhoa.Locked = True txtDienThoai.Locked = True 'cap nhat lai button cmdLuu.Enabled = False cmdThem.Enabled = True cmdSua.Enabled = True cmdXoa.Enabled = True End Sub Private Sub cmdSau_Click() rs.MoveNext If rs.EOF = True Then rs.MoveLast txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdSua_Click() 'cho text box sua Dieu_Khien_TextBox False 'dieu kien cac button cmdThem.Enabled = False cmdSua.Enabled = False cmdXoa.Enabled = False cmdLuu.Enabled = True End Sub Private Sub cmdThem_Click() rs.AddNew txtMaKhoa.Locked = False txtDienThoai.Locked = False txtTenKhoa.Locked = False txtMaKhoa.SetFocus 'dieu kien cac button cmdThem.Enabled = False cmdSua.Enabled = False cmdXoa.Enabled = False cmdLuu.Enabled = True End Sub Private Sub cmdThoat_Click() Unload Me End Sub Private Sub cmdTruoc_Click() rs.MovePrevious If rs.BOF = True Then rs.MoveFirst txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdXoa_Click() 'hoi xac nhan tu user Dim n As Integer n = MsgBox("Ban muon xoa khong?", vbCritical + vbYesNo, "Xoa du lieu") If n = vbNo Then rs.MoveFirst Else 'xoa record rs.Delete MsgBox "Ban da xoa thanh cong", vbInformation, "Xac nhan xoa" 'cap nhat lai button rs.MoveLast cmdLuu.Enabled = False cmdThem.Enabled = True cmdSua.Enabled = True cmdXoa.Enabled = True End If 'cap nhat text box dem txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub Form_Load() 'khoi tao gia tri Set rs = Adodc1.Recordset txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount 'dieu khien text box va button Dieu_Khien_TextBox True cmdLuu.Enabled = False End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) 'giai phong cac tai nguyen (record set) rs.Close Set rs = Nothing End Sub Private Sub Dieu_Khien_TextBox(khoa As Boolean) 'dieu khien text box txtTenKhoa.Locked = khoa txtDienThoai.Locked = khoa End Sub CÁCH 3: KHÔNG DÙNG CONTROL ADODC1, DÙNG ĐỐI TƯỢNG CONNECTION VÀ RECORDSET (thiết kế lại màn hình) -> frmKhoaAdv Option Explicit Dim rs As New ADODB.Recordset Dim cnn As New ADODB.Connection Dim fThem As Boolean Private Sub cmdCuoi_Click() rs.MoveLast Lien_Ket_Du_Lieu_Khoa txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdDau_Click() rs.MoveFirst Lien_Ket_Du_Lieu_Khoa txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdLuu_Click() 'kiem tra cac text box da nhap If txtMaKhoa.Text = vbNullString Then MsgBox "Phao nhap Ma khoa", vbInformation, "Loi nhap lieu" txtMaKhoa.SetFocus Exit Sub End If If txtTenKhoa.Text = vbNullString Then MsgBox "Phao nhap Ten khoa", vbInformation, "Loi nhap lieu" txtTenKhoa.SetFocus Exit Sub End If 'cap nhat vao bang 'neu la them moi If fThem = True Then rs.AddNew 'ghi len bang rs("makhoa") = txtMaKhoa.Text rs("tenKhoa") = txtTenKhoa.Text rs("dienthoai") = txtDienThoai.Text rs.Update 'cap nhat lai text dem txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount 'cap nhat lai text box txtTenKhoa.Locked = True txtDienThoai.Locked = True 'cap nhat lai button cmdLuu.Enabled = False cmdThem.Enabled = True cmdSua.Enabled = True cmdXoa.Enabled = True End Sub Private Sub cmdSau_Click() rs.MoveNext If rs.EOF = True Then rs.MoveLast Lien_Ket_Du_Lieu_Khoa txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdSua_Click() 'cho text box sua Dieu_Khien_TextBox False txtTenKhoa.SetFocus 'dieu kien cac button cmdThem.Enabled = False cmdSua.Enabled = False cmdXoa.Enabled = False cmdLuu.Enabled = True 'cap nhat lai co them fThem = False End Sub Private Sub cmdThem_Click() txtMaKhoa.Locked = False txtMaKhoa.Text = vbNullString txtDienThoai.Locked = False txtDienThoai.Text = vbNullString txtTenKhoa.Locked = False txtTenKhoa.Text = vbNullString txtMaKhoa.SetFocus 'dieu kien cac button cmdThem.Enabled = False cmdSua.Enabled = False cmdXoa.Enabled = False cmdLuu.Enabled = True 'cap nhat lai co them fThem = True End Sub Private Sub cmdThoat_Click() Unload Me End Sub Private Sub cmdTruoc_Click() rs.MovePrevious If rs.BOF = True Then rs.MoveFirst Lien_Ket_Du_Lieu_Khoa txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdXoa_Click() 'hoi xac nhan tu user Dim n As Integer n = MsgBox("Ban muon xoa khong?", vbCritical + vbYesNo, "Xoa du lieu") If n = vbNo Then rs.MoveFirst Else 'xoa record rs.Delete MsgBox "Ban da xoa thanh cong", vbInformation, "Xac nhan xoa" 'cap nhat lai button rs.MoveLast cmdLuu.Enabled = False cmdThem.Enabled = True cmdSua.Enabled = True cmdXoa.Enabled = True End If 'cap nhat text box dem txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount Lien_Ket_Du_Lieu_Khoa End Sub Private Sub Form_Load() 'ket noi voi co so du lieu cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Tan\DAYHOC\KTLT2(VB2)\Practice\Quan ly Sinh vien\SinhVien.mdb;" cnn.CursorLocation = adUseClient If cnn.State = adStateClosed Then cnn.Open rs.Open "KHOA", cnn, adOpenDynamic, adLockOptimistic, adCmdTable 'khoi tao gia tri rs.MoveFirst Lien_Ket_Du_Lieu_Khoa txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount fThem = False 'dieu khien text box va button Dieu_Khien_TextBox True cmdLuu.Enabled = False End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) 'giai phong cac tai nguyen (record set,connection) If rs.State = adStateOpen Then rs.Close Set rs = Nothing If cnn.State = adStateOpen Then cnn.Close Set cnn = Nothing End Sub Private Sub Dieu_Khien_TextBox(khoa As Boolean) 'dieu khien text box txtTenKhoa.Locked = khoa txtDienThoai.Locked = khoa End Sub Private Sub Lien_Ket_Du_Lieu_Khoa() txtMaKhoa.Text = rs("makhoa") txtTenKhoa.Text = rs("tenKhoa") txtDienThoai.Text = rs("DienThoai") End Sub CÁCH 4: CÁCH 3 + DÙNG LƯỚI DATAGRID ĐỂ HIỂN THỊ -> frmKhoaAdv2b Option Explicit Dim rs As New ADODB.Recordset Dim cnn As New ADODB.Connection Dim fThem As Boolean Private Sub cmdCuoi_Click() rs.MoveLast Lien_Ket_Du_Lieu_Khoa txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdDau_Click() rs.MoveFirst Lien_Ket_Du_Lieu_Khoa txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdLuu_Click() 'kiem tra cac text box da nhap If txtMaKhoa.Text = vbNullString Then MsgBox "Phao nhap Ma khoa", vbInformation, "Loi nhap lieu" txtMaKhoa.SetFocus Exit Sub End If If txtTenKhoa.Text = vbNullString Then MsgBox "Phao nhap Ten khoa", vbInformation, "Loi nhap lieu" txtTenKhoa.SetFocus Exit Sub End If 'cap nhat vao bang 'neu la them moi If fThem = True Then rs.AddNew End If 'ghi len bang rs("makhoa") = txtMaKhoa.Text rs("tenKhoa") = txtTenKhoa.Text rs("dienthoai") = txtDienThoai.Text rs.Update 'cap nhat lai text dem txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount 'cap nhat lai text box txtTenKhoa.Locked = True txtDienThoai.Locked = True 'cap nhat lai button cmdLuu.Enabled = False cmdThem.Enabled = True cmdSua.Enabled = True cmdXoa.Enabled = True End Sub Private Sub cmdSau_Click() rs.MoveNext If rs.EOF = True Then rs.MoveLast Lien_Ket_Du_Lieu_Khoa txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdSua_Click() 'cho text box sua Dieu_Khien_TextBox False txtTenKhoa.SetFocus 'dieu kien cac button cmdThem.Enabled = False cmdSua.Enabled = False cmdXoa.Enabled = False cmdLuu.Enabled = True 'cap nhat lai co them fThem = False End Sub Private Sub cmdThem_Click() txtMaKhoa.Locked = False txtMaKhoa.Text = vbNullString txtDienThoai.Locked = False txtDienThoai.Text = vbNullString txtTenKhoa.Locked = False txtTenKhoa.Text = vbNullString txtMaKhoa.SetFocus 'dieu kien cac button cmdThem.Enabled = False cmdSua.Enabled = False cmdXoa.Enabled = False cmdLuu.Enabled = True 'cap nhat lai co them fThem = True End Sub Private Sub cmdThoat_Click() Unload Me End Sub Private Sub cmdTruoc_Click() rs.MovePrevious If rs.BOF = True Then rs.MoveFirst Lien_Ket_Du_Lieu_Khoa txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount End Sub Private Sub cmdXoa_Click() 'hoi xac nhan tu user Dim n As Integer n = MsgBox("Ban muon xoa khong?", vbCritical + vbYesNo, "Xoa du lieu") If n = vbNo Then rs.MoveFirst Else [...]... cnn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Tan\DAYHOC\KTLT2(VB2)\Practice\Quan ly Sinh vien\SinhVien.mdb;" cnn.CursorLocation = adUseClient If cnn.State = adStateClosed Then cnn.Open rs.Open "KHOA", cnn, adOpenDynamic, adLockOptimistic, adCmdTable 'khoi tao luoi data grid Set DataGrid1.DataSource = rs 'khoi tao gia tri rs.MoveFirst Lien_Ket_Du_Lieu_Khoa txtDem.Text = rs.AbsolutePosition & "/" & rs.RecordCount . LẬP TRÌNH CƠ SỞ DỮ LIỆU VỚI ADO Bài 1: Tạo 1 form dùng để quản lý Khóa học trong CSDL SinhVien.mdb, có các chức năng: duyệt các mẫu tin, thêm mới, sửa dữ liệu, lưu, xóa và. và thoát. CÁCH 1: DÙNG CONTROL ADODC1 (không viết dòng cod nào) -> frmKhoa CÁCH 2: DÙNG CONTROL ADODC1 VÀ ĐỐI TƯỢNG RECORDSET (giao diện không dùng control ADODC, mà thiết kế lại) -> frmKhoaTest Option. 3: KHÔNG DÙNG CONTROL ADODC1, DÙNG ĐỐI TƯỢNG CONNECTION VÀ RECORDSET (thiết kế lại màn hình) -> frmKhoaAdv Option Explicit Dim rs As New ADODB.Recordset Dim cnn As New ADODB.Connection Dim

Ngày đăng: 01/07/2014, 11:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan