Tải bản đầy đủ (.docx) (12 trang)

do an mon hoc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (232.75 KB, 12 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

ĐỒ ÁN MÔN HỌC LỚP CĐ QUÂN KHU 9



Cho CDSL được cài đặt bằng ngông ngữ SQL Server 2000 có mơ hình như sau:


Hãy dùng ngơn ngữ VisualBasic 2003 hay 2005 thự hiện các công việc sau:



7- Thiết kế các view, thủ thụ, hàm và form in ra điểm tổng kết từng năm học. Biết


rằng điểm trung bình năm học =Điểm học kỳ i * tồng số đơn vị học trình học kỳ


i/Tổng số đơn vị học trình năm học. Năm học tạo combo box



Sinh viên: Nguyễn Thanh Nhân


GV hướng dẫn: Phan Linh Quang



<b>LỜI NÓI ĐẦU</b>



Ngày nay, khi khoa học, công nghệ tiến tiến ngày càng phát triển cao càng hoàn


thiện, thay thế mọi mặt trong đời sống con người nhất là công nghệ trong lĩnh vực của


ngành Tin Học.



Trong thời gian tiến hành thực hiện đồ án, chân thành cảm ơn các thầy cô trong


khoa nhất là thầy Phan Linh Quang đã tạo điều kiện tốt nhất cho em hồn thành đồ án


mơn học này.



Vì thời gian ngắn và kiến thức có hạn nên khơng thể nghiên cứu sâu hơn. Do đó


khơng thể tránh khỏi những sai sót. Rất mong sự đóng góp ý kiến của thầy cơ và các


bạn .



<b> </b>



<i>Vĩnh Long, ngày tháng năm 2010</i>



<b>Sinh viên thực hiện</b>




</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b> </b>



<b>NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN</b>



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<i><b>Thiết kế form in ra điểm tổng kết từng năm học có dạng như sau:</b></i>



Trong đó: Chọn năm học



Các nút điều khiển như hình trên.



Mục đích của form: In ra kết quả điểm trung bình năm học



Save: Lưu những thay đổi trên lưới; Delete: Xóa sinh viên hiện hành; Close:


Đóng from; Nút Cập nhật KQ thi : Để cập nhật lại đểm thi cho từng sinh viên



<b>PHẦN I : GIẢI THUẬT</b>


<b>Giải thuật:</b>



<b>Tạo giao diện đồ họa:</b>



- Mở from mới tên: FrmKetQua



- Tạo một ComboBox liệt kê Năm Học, tên: CboNamHoc, các thuộc tính khác


mặc nhiên



- Một DataGirdView(Lưới) hiển thị dữ liệu, tên: DataGridViewKQ các thuộc tính


khác mặc nhiên



- Tạo 4 Button có các thuộc tính (text) và chức năng lần lượt như sau: Save: Lưu



những thay đổi trên lưới; Delete: Xóa sinh viên hiện hành; Close: Đóng from; Nút Cập


nhật KQ thi : Để cập nhật lại đểm thi cho từng sinh viên. Lần lượt tên (name) là:


btnSave, btnDelete, , btnClose, btnCNhatKQthi, các thuộc tính khác mặc nhiên.



- Tạo một số nhãn (Label) có thuộc tính Text như hình trên, các thuộc tính khác


mặc nhiên.



<b>PHẦN II : DIỄN GIẢI VỀ CÁC THỦ TỤC</b>


<b>Thủ tục load from</b>



- Kết nối và mở kết nối.


- Load dữ liệu KQ ĐTB


- Load ComboBox NamHọc.



- Gán dữ liệu kết quả ĐTB vào DataGirdView.



- Gán thuộc tính khơng thêm mới, khơng xóa trên lưới.



<b>Thủ tục load dữ liệu kết quả ĐTB</b>



</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

- Gọi phương thức SqlDataAdapter khởi tạo và thực thi câu lệnh.



- Gọi phương thức Fill đưa dữ liệu vào DataSet cụ thể là Data Table tên: Tam


- Gọi phương thức Clear của DataTable để xóa dữ liệu trong DataTable Tam


(Phịng trước đã có dữ liệu).



<i> - Gọi lại phương thức Fill đưa dữ liệu vào DataSet cụ thể Data Table tên: Tam.</i>


<i> - Gọi phương thức Fill đưa dữ liệu vào DataSet cụ thể Data Table tên: XoaTam:</i>


chứa các kết quả thi bị xóa, để sau này xóa thật




- Xóa dữ liệu trong XoaTam (ban đầu phải rổng



<b>Thủ tục load combobox Năm học:</b>



- Chuẩn bị câu lệnh SQL chứa danh sách tất cả các môn học cần hiện thị.


- Gọi phương thức SqlDataAdapter khởi tạo và thực thi câu lệnh.



- Gọi phương thức Fill đưa dữ liệu vào DataSet cụ thể là Data Table tên: NamHoc


- Gọi phương thức Clear của DataTable để xóa dữ liệu trong DataTable NamHoc


(Phịng trước đã có dữ liệu).



<i> - Gọi lại phương thức Fill đưa dữ liệu vào DataSet cụ thể Data Table tên:</i>


NamHoc.



- Xóa các thanh trong CboNamHoc.


- Nếu số dòng DataTable NamHoc dương


- Kích hoạt CboNamHoc



- Mỗi dòng DataTable NamHoc chèn dịng đó vào 1 Item của CboNamHoc.


- Dòng đầu tiên của CboNamHoc là dòng đầu tiên của DataTable NămHoc.


- Kích hoạt hay phân liệt các Button.



<b>Xử lý các sự kiện</b>


<b>Nút Close:</b>



- Để đóng From.



<b>Nút Delete:</b>



<b> - Nếu lưới khơng rổng</b>




+ Xác định vị trí cần xóa (Con trỏ hiện hành



Me

.DataGridViewKQ.CurrentCell.RowIndex)


+ Lấy dịng dr ra từ lưới



+ cấp Phát 1 dòng dr1 theo mẫu xoaTam để lưu dữ liệu cần xóa


+ Copy từ dr vào dr1 (không t hể gán do cấp phát động)



+ Xóa dịng dr khỏi lưới Tam


+ Chèn dịng dr1 vào XoaTam



+ Xác định lại các chức năng các nút nhấn


- Ngược lại



+ Xác định lại các chức năng các nút nhấn



<b>Nút Save:</b>



<i><b>Xố mẫu tin trong table tam</b></i>



Nếu số dịng trong XoaTam khơng rổng


Mỗi dịng trong table XoaTam



Tạo câu lệnh xóa



</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

Dùng

DataRowState.Added

xác định các mẫu tin mới thêm đưa vào


DataTable mới




Nếu số dịng trong Table mới khơng rổng


Mỗi dịng trong table mới



Tạo câu lệnh insert



Chèn dòng này vào CSDL


<i><b>Update các mẫu tin sửa</b></i>



Dùng

DataRowState.Modified

xác định các mẫu tin mới sửa đưa vào


DataTable sửa



Nếu số dòng trong Table sửa khơng rổng


Mỗi dịng trong table sửa



Tạo câu lệnh update



Update mẫu tin vào CSDL


Xác định lại chức năng nút nhấn



<b>Khi giá trị trong CboNamHoc thay đổi </b>

(

CboNamHoc_SelectedValueChanged)


Nếu tables NamHoc không rổng


- Biến NamHoc nhận giá trị mới



(ds.Tables("NamHoc").Rows(Me.CboNamHoc.Items.IndexOf(Me.CboNamHoc.Text))
("namhoc")


Ngược lại biến Năm học nhận giá trị rổng


- Load lại dữ liệu




<b>From KQ Điểm TB:</b>



<i><b>Mã từng thủ tục như sau</b></i>


Imports System.Data.SqlClient


Public Class frmKetQua


Dim strCONN = "server=Localhost;database=Sinhvien;uid=sa;pwd="


Dim CONN As New SqlConnection(strCONN)
Dim da As SqlDataAdapter


Dim ds As New DataSet
Dim strnamhoc As String


Private Sub frmKetQua_Load(ByVal sender As Object, ByVal e As


System.EventArgs) Handles Me.Load
Try


CONN = New SqlConnection(strCONN)
CONN.Open()


Catch ex As Exception
MsgBox("lổi kết nối")
End Try


namhoc()
loaddl()



Me.DataGridViewKQ.DataSource = ds.Tables("TAM")
ds.Tables("TAM").DefaultView.AllowNew = False


ds.Tables("TAM").DefaultView.AllowDelete = False


End Sub


Sub loaddl()


Dim str As String


str = "SELECT NamHoc,HocKy,TenL,MaSV,TongD / TongDVHT AS
DiemTBNamHoc,Null GhiChu"


str += " FROM (SELECT KQThi.NamHoc,KQThi.HocKy,TenL,KQThi.MaSV,"


str += "sum(DiemThi*SoDVHT) as TongD, "


str += "SUM(MonHoc.SoDVHT) AS TongDVHT"


str += " FROM KQThi,MonHoc,Lop,SinhVien"


str += " where SinhVien.MaL=Lop.MaL "


str += " and SinhVien.MaSV=KQThi.MaSV "


str += " and MonHoc.MaM=KQThi.MaM"


If strnamhoc <> "" Then



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

End If


str += " GROUP BY KQThi.NamHoc,KQThi.HocKy,Lop.TenL,KQThi.MaSV) AS TAM "


'MsgBox(str)


da = New SqlDataAdapter(str, CONN)
da.Fill(ds, "TAM")


ds.Tables("TAM").Clear()
da.Fill(ds, "TAM")


da.Fill(ds, "XoaTAM")


ds.Tables("XoaTAM").Clear()
End Sub


Sub namhoc()


Dim str As String


str = "select Namhoc,Hocky from NamHoc"


da = New SqlDataAdapter(str, CONN)
da.Fill(ds, "NamHoc")


ds.Tables("NamHoc").Clear()
da.Fill(ds, "NamHoc")


If ds.Tables("NamHoc").Rows.Count > 0 Then



Me.CboNamHoc.Items.Clear()
Dim i As Integer


For i = 0 To ds.Tables("NamHoc").Rows.Count - 1


Me.CboNamHoc.Items.Add(ds.Tables("NamHoc").Rows(i)("Namhoc"))
Next


Me.CboNamHoc.Text = ds.Tables("NamHoc").Rows(0)("Namhoc")
Else


Me.CboNamHoc.Enabled = False


End If


End Sub


Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtnClose.Click
Me.Close()


End Sub


Private Sub CboNamHoc_SelectedValueChanged(ByVal sender As Object, ByVal e As


System.EventArgs) Handles CboNamHoc.SelectedValueChanged
If ds.Tables("NamHoc").Rows.Count > 0 Then



strnamhoc =


ds.Tables("NamHoc").Rows(Me.CboNamHoc.Items.IndexOf(Me.CboNamHoc.Text))("namhoc")
Else


strnamhoc = ""


End If


loaddl()


If ds.Tables("TAM").Rows.Count = 0 Then


Me.BtnDelete.Enabled = False


Me.btnSave.Enabled = False


Me.BtnClose.Enabled = True


End If


End Sub


Private Sub BtnDelete_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles BtnDelete.Click


Dim vt As Integer = Me.DataGridViewKQ.CurrentCell.RowIndex
Dim dr, dr1 As DataRow



If ds.Tables("TAM").Rows.Count > 0 Then


dr = ds.Tables("TAM").Rows(vt)
dr1 = ds.Tables("xoaTAM").NewRow
dr1("HocKy") = dr("HocKy")


dr1("MaSV") = dr("MaSV")
dr1("HoTen") = dr("HoTen")
dr1("TenL") = dr("TenL")


dr1("TongsoDVHT") = dr("TongsoDVHT")
dr1("DTB") = dr("DTB")


dr1("Ghichu") = dr("Ghichu")


ds.Tables("TAM").Rows.RemoveAt(vt)
ds.Tables("xoaTAM").Rows.Add(dr1)
Me.BtnDelete.Enabled = True


Me.btnSave.Enabled = True


Me.BtnClose.Enabled = False


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

Me.BtnDelete.Enabled = False


Me.btnSave.Enabled = False


Me.BtnClose.Enabled = True


End If



End Sub


Private Sub BtnSave_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles btnSave.Click
Dim i As Integer


Dim dr As DataRow
Dim str As String


If ds.Tables("xoaTAM").Rows.Count > 0 Then


For i = 0 To ds.Tables("xoaTAM").Rows.Count - 1
dr = ds.Tables("xoaTAM").Rows(i)


str = "Delete TAM where MaSV='" & dr("MaSV") & "' "


'MsgBox(str)


Dim cmd As New SqlCommand(str, CONN)
cmd.ExecuteNonQuery()


Next


End If


ds.Tables("xoaTAM").Clear()
Dim dt As DataTable



dt = ds.Tables("KQthi").GetChanges(DataRowState.Added)
If Not dt Is Nothing Then


For i = 0 To dt.Rows.Count - 1
dr = dt.Rows(i)


str = "Insert into


TAM(NamHoc,HocKy,MaL,MaSV,Ho,ten,TongsoDVHT,DTB,GhiChu) Values("


str += "'" & strnamhoc & "'"


str += ",'" & dr("HocKy") & "'"


str += ",N'" & dr("TenL") & "'"


str += ",'" & dr("MaSV") & "'"


str += ",N'" & dr("HoTen") & "',"


If Not IsDBNull(dr("TongsoDVHT")) Then


str += "NULL,"


Else


str += "'" & dr("TongSoDVHT") & "',"


End If



If Not IsDBNull(dr("DTB")) Then


str += "NULL,"


Else


str += "'" & dr("DTB") & "',"


End If


If Not IsDBNull(dr("GhiChu")) Then


str += "NULL,"


Else


str += "N'" & dr("GhiChu") & "')"


End If


'MsgBox(str)


Dim cmdcomm As New SqlCommand(str, CONN)
cmdcomm.ExecuteNonQuery()


Next


End If


loaddl()



Me.BtnDelete.Enabled = True


Me.btnSave.Enabled = True


Me.BtnClose.Enabled = True


End Sub


Private Sub BtnCNhatKQThi_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtnCNhatKQThi.Click
frmKQThi.Show()


End Sub
End Class


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

Trong đó: Chọn năm học



Các nút điều khiển như hình trên.


DataGirdViewKQThi



Nút Add: Thêm mới



Nút Cancel: Bỏ qua hành động mới thực hiện


Nút Save: lưu điểm tổng kết.



Nt Delete: Xóa điểm trong KQThi


Nút Close: Đóng from.




<b>PHẦN II : GIẢI THUẬT</b>



- Tạo dự án mới tên: SinhVien.


- Mở from mới tên: Frm KQThi



- Tạo một ComboBox liệt kê Năm học, tên: CboNamHoc1 các thuộc tính khác


mặc nhiên



- Một DataGirdView(Lưới) hiển thị dữ liệu tên: DataGirdViewKQThi các thuộc


tính khác mặc nhiên



- Tạo 5 Button có các thuộc tính (text) và chức năng lần lượt như sau:


* Delete: Xóa mẫu tin hiện hành



* Save: Lưu những thay đổi trên lưới


* Close: Đóng from.



* Cancel: Bỏ qua hành động mới thực hiện


* Add: Thêm mới



- Các Button lần lượt có tên là: btnDelete, btnCancel, btnClose, btnSave, btnAdd,


Cancel và các thuộc tính khác mặc nhiên.



- Tạo một số nhãn (Label) có thuộc tính Text như hình trên, các thuộc tính khác


mặc nhiên.



<b>Thủ tục load from, Thủ tục load dữ liệu kết quả ĐTB, Thủ tục load combobox</b>



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

Chỉ thêm các nút Add và Cancel




<b>Nút Add:</b>



- Thêm một dòng mới (DataRow)



- Xác định một số thuộc tính của dịng nếu có thể


- Chèn dịng mới vào lưới(DataTable)



- Kích hoạt nút: Add, Delete, Save


- Phân liệt nút: Close, Cancel



<b>Nút Cancel:</b>



- Load dữ liệu



- Kích hoạt nút: Add, Save,Cancel


- Phân liệt nút: Delete, Close



<b>From KQThi:</b>



<i><b>Mã từng thủ tục như sau</b></i>


Imports System.Data.SqlClient


Public Class frmKQThi


Dim strCONN = "server=Localhost;database=Sinhvien;uid=sa;pwd="


Dim CONN As New SqlConnection(strCONN)
Dim da As SqlDataAdapter


Dim ds As New DataSet



Dim strnamhoc As String = ""


Private Sub frmKetQua_Load(ByVal sender As Object, ByVal e As


System.EventArgs) Handles Me.Load


If CONN.State = ConnectionState.Closed Then


CONN.Open()
End If


namhoc()
loaddl()


Me.DataGridViewKQThi.DataSource = ds.Tables("KQThi")
ds.Tables("KQThi").DefaultView.AllowNew = False


ds.Tables("KQThi").DefaultView.AllowDelete = False


End Sub


Sub loaddl()


Dim str As String


str = "select NamHoc,HocKy,MaL,MaSV,MaM,LanThi,Diemthi,GhiChu"


str += " from KQThi where"



If strnamhoc <> "" Then


str += " Namhoc='" & strnamhoc & "'"


End If


'MsgBox(str)


da = New SqlDataAdapter(str, CONN)
da.Fill(ds, "KQThi")


ds.Tables("KQThi").Clear()
da.Fill(ds, "KQThi")


da.Fill(ds, "XoaKQThi")


ds.Tables("XoaKQThi").Clear()
End Sub


Sub namhoc()


Dim str As String


str = "select Namhoc,Hocky from NamHoc"


da = New SqlDataAdapter(str, CONN)
da.Fill(ds, "NamHoc")


ds.Tables("NamHoc").Clear()
da.Fill(ds, "NamHoc")



If ds.Tables("NamHoc").Rows.Count > 0 Then


Me.CboNamHoc.Items.Clear()
Dim i As Integer


For i = 0 To ds.Tables("NamHoc").Rows.Count - 1


Me.CboNamHoc.Items.Add(ds.Tables("NamHoc").Rows(i)("Namhoc"))
Next


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

Me.CboNamHoc.Enabled = False


End If


End Sub


Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtnClose.Click
Me.Close()


End Sub


Private Sub CboNamHoc_SelectedValueChanged(ByVal sender As Object, ByVal e As


System.EventArgs) Handles CboNamHoc.SelectedValueChanged
If ds.Tables("NamHoc").Rows.Count > 0 Then


strnamhoc =



ds.Tables("NamHoc").Rows(Me.CboNamHoc.Items.IndexOf(Me.CboNamHoc.Text))("namhoc")
Else


strnamhoc = ""


End If


loaddl()
End Sub


Private Sub BtnAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs)


Handles BtnAdd.Click
Dim dr As DataRow


dr = ds.Tables("KQThi").NewRow
ds.Tables("KQThi").Rows.Add(dr)
Me.BtnAdd.Enabled = True


Me.btnCancel.Enabled = True


Me.BtnDelete.Enabled = False


Me.btnSave.Enabled = True


Me.BtnClose.Enabled = False


End Sub



Private Sub BtnCancel_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles btnCancel.Click
loaddl()


Me.BtnAdd.Enabled = True


Me.btnCancel.Enabled = False


Me.BtnDelete.Enabled = True


Me.btnSave.Enabled = False


Me.BtnClose.Enabled = True End Sub


Private Sub BtnDelete_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles BtnDelete.Click


Dim vt As Integer = Me.DataGridViewKQThi.CurrentCell.RowIndex
Dim dr, dr1 As DataRow


If ds.Tables("KQThi").Rows.Count > 0 Then


dr = ds.Tables("KQThi").Rows(vt)
dr1 = ds.Tables("xoaKQThi").NewRow
dr1("HocKy") = dr("HocKy")


dr1("MaSV") = dr("MaSV")
dr1("MaL") = dr("MaL")


dr1("MaM") = dr("MaM")


dr1("LanThi") = dr("LanThi")
dr1("DiemThi") = dr("DiemThi")
dr1("Ghichu") = dr("Ghichu")


ds.Tables("KQThi").Rows.RemoveAt(vt)
ds.Tables("xoaKQThi").Rows.Add(dr1)
Me.BtnAdd.Enabled = True


Me.btnCancel.Enabled = True


Me.BtnDelete.Enabled = True


Me.btnSave.Enabled = True


Me.BtnClose.Enabled = False


Else


Me.BtnAdd.Enabled = True


Me.btnCancel.Enabled = False


Me.BtnDelete.Enabled = False


Me.btnSave.Enabled = False


Me.BtnClose.Enabled = True



End If


End Sub


Private Sub BtnSave_Click(ByVal sender As Object, ByVal e As


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

Dim i As Integer


Dim dr As DataRow
Dim str As String


If ds.Tables("xoaKQThi").Rows.Count > 0 Then


For i = 0 To ds.Tables("xoaKQthi").Rows.Count - 1
dr = ds.Tables("xoaKQthi").Rows(i)


str = "Delete KQthi where DiemThi='" & dr("DiemThi") & "' "


'MsgBox(str)


Dim cmd As New SqlCommand(str, CONN)
cmd.ExecuteNonQuery()


Next


End If


ds.Tables("xoaKQthi").Clear()
Dim dt As DataTable



dt = ds.Tables("KQthi").GetChanges(DataRowState.Added)
If Not dt Is Nothing Then


For i = 0 To dt.Rows.Count - 1
dr = dt.Rows(i)


str = "Insert into


KQThi(NamHoc,HocKy,MaL,MaSV,MaM,LanThi,DiemThi,GhiChu) Values("


str += "'" & strnamhoc & "'"


str += ",'" & dr("HocKy") & "'"


str += ",'" & dr("MaL") & "'"


str += ",'" & dr("MaSV") & "'"


str += ",'" & dr("MaM") & "'"


str += ",'" & dr("LanThi") & "'"


str += ",'" & dr("DiemThi") & "',"


If Not IsDBNull(dr("GhiChu")) Then


str += "NULL,"


Else



str += "N'" & dr("GhiChu") & "')"


End If


'MsgBox(str)


Dim cmdcomm As New SqlCommand(str, CONN)
cmdcomm.ExecuteNonQuery()


Next


End If


Dim sql As String


dt = ds.Tables("KQthi").GetChanges(DataRowState.Modified)
If Not dt Is Nothing Then


For i = 0 To dt.Rows.Count - 1
dr = dt.Rows(i)


sql = "update KQThi set"


sql += " HocKy='" & dr("HocKy") & "',"


sql += " LanThi='" & dr("LanThi") & "'"


sql += ",DiemThi='" & dr("DiemThi") & "',"


If Not IsDBNull(dr("GhiChu")) Then



sql += "GhiChu=NULL"


Else


sql += "GhiChu=N'" & dr("GhiChu") & "'"


End If


sql += " where MaL='" & dr("MaL") & "'"


sql += " and MaSV='" & dr("MaSV") & "'"


sql += " and MaM='" & dr("MaM") & "'"


sql += " and Namhoc='" & strnamhoc & "'"


'MsgBox(sql)


Dim cmdcom As New SqlCommand(sql, CONN)
cmdcom.ExecuteNonQuery()


Next


End If


loaddl()


Me.BtnAdd.Enabled = True



Me.btnCancel.Enabled = False


Me.BtnDelete.Enabled = True


Me.btnSave.Enabled = False


Me.BtnClose.Enabled = True


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

Private Sub DataGridKQThi_DoubleClick(ByVal sender As Object, ByVal e As


System.EventArgs) Handles DataGridViewKQThi.DoubleClick
Me.btnSave.Enabled = True


Me.BtnClose.Enabled = False


End Sub
End Class


<b>PHẦN IV : PHƯƠNG HƯỚNG PHÁT TRIỂN:</b>



Một lần nữa em chân thành cảm các thầy cô trong khoa, nhất là thầy Phan Linh


Quang đã tạo điều kiện tốt cho em hoàn thành đồ án này. Đến đây về cơ bản em đa


hoàn thành đồ án này, nhưng do kiến thức có hạn nên khơng thể tránh khỏi những


thiếu sót. Rất mong được sự giúp đỡ của thầy cơ để đề tài được hồn thiện hơn.Và sau


đây là những khuyết điểm của đồ án:



</div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×