- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
Hướng dẫn lập trình Insert - Update - Delete sử dụng Procedure Sqlserver 2008
Hôm nay, mình xin hướng dẫn các bạn thêm, xóa, sửa dữ liệu trong vb.net sử dụng store procedure, Tại sao mình phải sử dụng store procedure để thao tác với dữ liệu.
- Sử dụng store procedure sẽ chống được lỗi sql injection
- Truy vấn dữ liệu sẽ nhanh hơn với bộ nhớ đệm.
- Khi bạn muốn thay đổi dữ liệu, bạn sẽ dễ dàng thay đổi trực tiếp trên database, không cần chỉnh sửa code.
Dưới đây là giao diện ứng dụng:
- Đầu tiên, các bạn cần phải tạo ra ba procedure cho hàm insert, update và delete
+ Viết hàm insert
-- Tạo procedure thêm dữ liệu
CREATE PROCEDURE InsertDataIntoTable
@Name nvarchar(50),
@Email nvarchar(80),
@Age int
AS
BEGIN
INSERT INTO tbl_sinhvien(name, email, age)
VALUES ( @Name, @email, @age)
END
+ Viết hàm update
-- Tạo procedure cập nhật dữ liệu
CREATE PROCEDURE UpdateDataInsideTable
@name nvarchar(50),
@email nvarchar(70),
@age int,
@id int
AS
BEGIN
UPDATE tbl_sinhvien
SET Name = @name, email = @email, age = @age
WHERE id = @id
END
+ Viết hàm Delete
-- Tạo procedure xóa dữ liệu tbl_sinhvien theo id
CREATE PROCEDURE DeleteDataFromTable
@id int
AS
BEGIN
DELETE FROM tbl_sinhvien
WHERE id = @id
END
* Video hướng dẫn chi tiết code ứng dụng
- Bắt đầu code ứng dụng.
+ Import thư viện sql vào vb.net
Imports System.Data.SqlClient
+ Khai báo biến sqlconnection cục bộ
Dim con As New SqlConnection
+ Viết hàm Tạo kết nối vb.net với database
Public Sub Taoketnoi()
Try
Dim strketnoi As String = "Data Source=DESKTOP-BSIR50M;Initial Catalog=sinhvien;Integrated Security=True"
con.ConnectionString = strketnoi
con.Open()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
+ Viết hàm đóng kết nối vb.net với database
Public Sub Dongketnoi()
Try
con.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
+ Viết một function để load data
Public Function LoadData() As DataSet
Taoketnoi()
Dim ds As New DataSet
Dim da As New SqlDataAdapter("SELECT id as [Mã sinh viên], name as [Tên sinh viên], email as [Email], age as [Tuổi] FROM tbl_sinhvien", con)
da.Fill(ds)
Dongketnoi()
Return ds
End Function
+ Viết sự kiện cho form_load khi load form lên sẽ hiện thị nội dung vào datagridview
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim ds As New DataSet
ds = LoadData()
grvSinhvien.DataSource = ds.Tables(0)
txtId.DataBindings.Clear()
txtName.DataBindings.Clear()
txtEmail.DataBindings.Clear()
txtAge.DataBindings.Clear()
txtId.DataBindings.Add("text", ds.Tables(0), "Mã sinh viên")
txtName.DataBindings.Add("text", ds.Tables(0), "Tên sinh viên")
txtEmail.DataBindings.Add("text", ds.Tables(0), "Email")
txtAge.DataBindings.Add("text", ds.Tables(0), "Tuổi")
'deleteText()
End Sub
+ Viết sự kiện save dữ liệu xuống database
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
Taoketnoi()
Dim cmd As New SqlCommand
cmd.Connection = con
cmd.CommandText = "insertdataintotable"
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("name", txtName.Text)
cmd.Parameters.AddWithValue("email", txtEmail.Text)
cmd.Parameters.AddWithValue("age", txtAge.Text)
cmd.ExecuteNonQuery()
Dongketnoi()
Form1_Load(sender, e)
deleteText()
End Sub
+ Viết một sub xóa text khi lưu thành công và đặt name là con trỏ (focus)
Public Sub deleteText()
txtId.Text = ""
txtName.Text = ""
txtEmail.Text = ""
txtAge.Text = ""
txtName.Focus()
End Sub
+ Viết sự kiện update dữ liệu
Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click
Taoketnoi()
Dim cmd As New SqlCommand
cmd.Connection = con
cmd.CommandText = "updatedatainsidetable"
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("id", txtId.Text)
cmd.Parameters.AddWithValue("name", txtName.Text)
cmd.Parameters.AddWithValue("email", txtEmail.Text)
cmd.Parameters.AddWithValue("age", txtAge.Text)
cmd.ExecuteNonQuery()
Dongketnoi()
Form1_Load(sender, e)
End Sub
+ Viết sự kiện delete dữ liệu
Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click
Taoketnoi()
Dim cmd As New SqlCommand
cmd.Connection = con
cmd.CommandText = "deletedatafromtable"
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("id", txtId.Text)
cmd.ExecuteNonQuery()
Dongketnoi()
Form1_Load(sender, e)
End Sub
Vậy là xong. Bây giờ bạn có thể chạy ứng dụng để thưởng thức thành quả
Cám ơn các bạn đã xem bài viết. Hãy like and share giúp mình nha các bạn.
Các bạn có thể Đăng ký kênh Youtube của mình ở góc phải bên trên màn hình.
Mọi thắc mắc về bài viết các bạn có thể hỏi ở http://hoidap.laptrinhvb.net để được support.