- [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
- [SOFTWARE] Giới thiệu bộ phần mềm tính Kết Cấu Thép HatteSale, Mộng Đơn, Dầm, Sàn, Móng Cọc, Vách, Xà Gồ, Tính Tải Trọng
- [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
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
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.