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>
(ds.Tables("NamHoc").Rows(Me.CboNamHoc.Items.IndexOf(Me.CboNamHoc.Text))
("namhoc")
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
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
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
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
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("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
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
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