Form Sắp Xếp Và Tìm Kiếm Sinh Viên


If Btn_Update.Text = "Sửa" Then Btn_Add.Text = "Lưu" Btn_Update.Text = "Hủy" Set_Enabled(False)

Else

Btn_Add.Text = "Thêm" Btn_Update.Text = "Sửa" Set_Enabled(True)

i = 0 Display(i)

End If End Sub

- Sự kiện click của nút Xóa

Private Sub Btn_Delete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Delete.Click

Dim sqlstr As String

sqlstr = "Delete from sinhvien where masv=@masv" Dim cmd As New SqlCommand(sqlstr, cn)

cmd.Parameters.Add("@masv", SqlDbType.NVarChar).Value

= txt_masv.Text

If MsgBox("Bạn có muốn xóa sinh viên này không ?", MsgBoxStyle.OkCancel, "Thông báo") = MsgBoxResult.Ok Then

cmd.ExecuteNonQuery() DisplayTable()

End If End Sub

- Sự kiện click của nút Thoát

Private Sub Btn_New_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Close.Click

Me.Close() End Sub

Chú ý rằng các sự kiện thêm, sửa, xóa ta có thể dùng thủ tục lưu trữ (Stored Procedure) để thay cho việc viết các câu lệnh trực tiếp trong môi trường VB.Net. Ưu điểm của việc sử dụng thủ tục lưu trữ là ta có thể kiểm soát được dữ liệu khi thêm, sửa xóa.

Trong SQL Server ta tạo các thủ tục sau:


- Thủ tục thêm bản ghi cho bảng sinh viên: CREATE PROCEDURE sp_Insert_SV

@masv as nvarchar(10),

@hoten as nvarchar(50),

@ns as date,

@gt as nvarchar(3),

@diachi as nvarchar(30),

@mal as nvarchar(20) AS

BEGIN

declare @kt as bit set @kt=1

if exists (select 'true' from sinhvien where masv=@masv) begin

set @kt=0

raiserror('Mã sinh viên bị trùng',16,6) end

if LEN(@masv)=0 begin

set @kt=0

raiserror('Mã sinh viên không hợp lệ',16,6)

end

if LEN(@hoten)=0 begin

set @kt=0

raiserror('Họ tên sinh viên không hợp lệ',16,6)

end

if LEN(@diachi)=0 begin

set @kt=0

raiserror('Địa chỉ không hợp lệ',16,6)

end

if LEN(@mal)=0

begin

set @kt=0

raiserror('Mã lớp không hợp lệ',16,6)


end

if @kt=1 begin

insert into sinhvien(Masv,hoten,ns, gt,diachi,malop) values (@Masv,@hoten,@ns , @gt, @diachi ,@mal) end

END

- Thủ tục cập nhật bản ghi cho bảng sinh viên: CREATE PROCEDURE [dbo].[sp_UPDATE_SV]

@masv as nvarchar(10),

@hoten as nvarchar(50),

@ns as date,

@gt as nvarchar(3),

@diachi as nvarchar(30),

@mal as nvarchar(20) AS

BEGIN

declare @kt as bit set @kt=1

if LEN(@masv)=0 begin

set @kt=0

raiserror('Mã sinh viên không hợp lệ',16,6)

end


if LEN(@hoten)=0 begin

set @kt=0

raiserror('Họ tên sinh viên không hợp lệ',16,6)

end

if LEN(@diachi)=0 begin

set @kt=0

raiserror('Địa chỉ không hợp lệ',16,6)

end

if LEN(@mal)=0



end

begin

set @kt=0

raiserror('Mã lớp không hợp lệ',16,6)

if @kt=1 begin

update sinhvien

set hoten=@hoten,ns=@ns, gt=@gt,diachi=@diachi, malop=@mal where masv=@masv

end END

- Thủ tục xóa sinh viên:

CREATE PROCEDURE sp_Delete_SV

@masv as nvarchar(10)

AS BEGIN

delete from sinhvien where masv=@masv delete from diem where masv=@masv

END

Sau khi đã tạo các thủ tục lưu trữ, ta có thể sử dụng chúng để lập trình các sự kiện thêm, sửa, xóa.

- Sự kiện click của nút Thêm

Private Sub Btn_Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Add.Click

Dim cd As New SqlCommand() cd.Connection = cn cd.CommandText = "sp_Insert_SV"

cd.CommandType = CommandType.StoredProcedure If Btn_Add.Text = "Thêm" Then

Btn_Add.Text = "Lưu" Btn_Update.Text = "Hủy" Set_Null() Set_Enabled(False)

Else

Btn_Add.Text = "Thêm"


Btn_Update.Text = "Sửa" Set_Enabled(True)

cd.Parameters.Add("@masv", SqlDbType.VarChar).Value

= txt_masv.Text

cd.Parameters.Add("@hoten", SqlDbType.VarChar).Value = txt_hoten.Text cd.Parameters.Add("@ns", SqlDbType.Date).Value

= DateAndTime.DateValue(txt_ns.Text) cd.Parameters.Add("@gt", SqlDbType.Varchar).Value

= txt_gt.Text

cd.Parameters.Add("@diachi", SqlDbType.VarChar).Value = txt_qq.Text cd.Parameters.Add("@mal", SqlDbType.Varchar).Value

= txt_mal.Text cd.ExecuteNonQuery() DisplayTable()

End If End Sub

- Sự kiện click của nút Sửa

Private Sub Btn_Update_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Update.Click

Dim cd As New SqlCommand() cd.Connection = cn cd.CommandText = "sp_Update_SV"

cd.CommandType = CommandType.StoredProcedure If Btn_Update.Text = "Sửa" Then

Btn_Add.Text = "Lưu" Btn_Update.Text = "Hủy" Set_Enabled(False)

Else

Btn_Add.Text = "Thêm" Btn_Update.Text = "Sửa" Set_Enabled(True)

i = 0 Display(i)

End If End Sub

- Sự kiện click của nút Xóa


Private Sub Btn_Delete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Delete.Click

Dim cd As New SqlCommand() cd.Connection = cn cd.CommandText = "sp_Delete_SV"

cd.CommandType = CommandType.StoredProcedure cmd.Parameters.Add("@masv", SqlDbType.NVarChar).Value

= txt_masv.Text

If MsgBox("Bạn có muốn xóa sinh viên này không ?", MsgBoxStyle.OkCancel, "Thông báo") = MsgBoxResult.Ok Then

cmd.ExecuteNonQuery() DisplayTable()

End If End Sub

Ví dụ 2: Thiết kế và lập trình Form quản lý thông tin của sinh viên theo mẫu sau.

Trên form cho phép sắp xếp và tìm kiếm theo mã sinh viên, họ tên, ngày sinh, địa chỉ.

Hình 8 8 Form sắp xếp và tìm kiếm sinh viên Bước 1 Trong cửa sổ Solution 1

Hình 8.8. Form sắp xếp và tìm kiếm sinh viên

Bước 1: Trong cửa sổ Solution Explorer-QLDiem, chọn dự án QLDiem/Chọn chuột phải/Chọn Add/Chọn Window Forms/Nhập tên form tại mục Name/Add


Hình 8 9 Tạo một form mới Bước 2 Tạo một View đặt tên là lop chỉ lấy 2

Hình 8.9. Tạo một form mới

Bước 2: Tạo một View đặt tên là lop, chỉ lấy thông tin của mã lớp.

Hình 8 10 Tạo View lớp Bước 3 Thiết kế Form Quản lý thông tin sinh viên 3

Hình 8.10. Tạo View lớp

Bước 3: Thiết kế Form Quản lý thông tin sinh viên (frm_SVTK)


STT

Đối tượng

Thuộc tính

Giá trị

1

Form

Name

Frm_SVTK

Text

Quản lý thông tin sinh viên

2

Lable

Text

Mã lớp

3

Group Box

Text

Sắp xếp

4

Group Box

Text

Tìm kiếm

5

Combo

Name

Cb_malop

6


Combo

Name

Cb_Sort

Items

Mã sinh viên, Họ tên,

Ngày sinh, Quê quán


7


Combo

Name

Cb_malop

Items

Mã sinh viên, Họ tên,

Ngày sinh, Quê quán

8

DataGridView

Name

Dgv_SV

9

Button

Name

Btn_Sort

Có thể bạn quan tâm!

Xem toàn bộ 323 trang tài liệu này.




Text

Sắp xếp

10

Button

Name

Btn_Search

Text

Tìm kiếm

Bước 4: Lập trình các sự kiện và thủ tục

- Khai báo của tên miền: Imports System.Data

Imports System.Data.SqlClient Imports System.Configuration

- Khai báo các đối tượng sử dụng trong phạm vi của form: Dim cnn As New SqlConnection()

Dim da As New SqlDataAdapter Dim oDS As DataSet

Dim oDV As DataView

- Thủ tục đưa dữ liệu của bảng sinh viên lên đối tượng DataGridView. Private Sub FillDataSetAndView()

oDS = New DataSet()

da.SelectCommand = New SqlCommand() da.SelectCommand.Connection = cnn

da.SelectCommand.CommandText = "SELECT * FROM Sinhvien WHERE MaLop= '"&cb_malop.SelectedItem(0)&"'" da.SelectCommand.CommandType = CommandType.Text

da.Fill(oDS, "Sinhvien")

oDV = New DataView(oDS.Tables("Sinhvien")) End Sub

- Thủ tục trang trí đối tượng DataGridView. Private Sub Grid() Dgv_SV.Columns(0).HeaderText = "Mã sinh viên" Dgv_SV.Columns(1).HeaderText = "Họ tên" Dgv_SV.Columns(2).HeaderText = "Ngày sinh" Dgv_SV.Columns(3).HeaderText = "Giới tính" Dgv_SV.Columns(4).HeaderText = "Địa chỉ" Dgv_SV.Columns(5).HeaderText = "Mã lớp"

End Sub

- Sự kiện Change của cb_malop

Private Sub cb_malop_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cb_malop.SelectedIndexChanged

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 16/07/2022