- [DATABASE] Hướng dẫn thêm và cập nhật Extended Property Column trong Table Sqlserver
- [DEVEXPRESS] Hướng dẫn sử dụng Vertical Gridview để hiển thị thông tin sản phẩm
- [C#] Hướng dẫn sử dụng Json Schema để Validate chuỗi string có phải json
- [C#] Hướng dẫn sử dụng công cụ Clean Code trên Visual Studio
- [C#] Hướng dẫn Drag and Drop File vào RichTextBox
- [C#] Hướng dẫn tạo hiệu ứng Karaoke Text Effect Winform
- [C#] Sử dụng thư viện ZedGraph vẽ biểu đồ Line, Bar, Pie trên Winform
- [DATABASE] Hướng dẫn sort sắp xếp địa chỉ IP trên sqlserver sử dụng hàm PARSENAME
- [C#] Theo dõi sử kiện process Start hay Stop trên Winform
- [ASP.NET] Chia sẻ source code chụp hình sử dụng camera trên website
- [C#] Chạy ứng dụng trên Virtual Desktop (màn hình ảo) Winform
- [C#] Mã hóa và giải mã Data Protection API trên winform
- [C#] Hướng dẫn tạo Gradient Background trên Winform
- [DATABASE] Hướng dẫn convert Epoch to DateTime trong sqlserver
- [DATABASE] Hướng dẫn sử dụng STRING_AGG và CONCAT_WS trong sqlserver 2017
- [C#] Hướng dẫn Copy With All Property in Class Object
- [DEVEXPRESS] Hướng dẫn load Json DataSource vào GridView
- [C#] Hướng dẫn tạo chữ ký trên winform Signature Pad
- [DEVEXPRESS] Format code T-SQL highlight in RichEditControl
- [C#] Hướng dẫn upload file, hình ảnh từ Winform lên server API ASP.NET Core
Cập nhật hình ảnh xuống SQL
Bài viết này mình sẽ giới thiệu các bạn cách lưu hình ảnh xuống database SQL như thế nào. Trước tiên bạn thiết kế data như sau
:
Bạn thiết form theo mẫu sau:
Ở bài viết này mình sẽ nhấn mạnh vào cách lưu hình ảnh xuống SQL như thế nào.
- Trước tiên bạn kéo công cụ OpenFileDialog để mở các file hình ảnh. Tại sự kiện Double_Click của PictureBox ta viết sau:
Private Sub PictureBox1_DoubleClick(sender As Object, e As EventArgs) Handles PictureBox1.DoubleClick
OpenFileDialog1.Filter = "Select Images |*.jpg||*.png" 'Lọc lấy file hình ảnh có phần mở rộng *.jpg, *.png
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
PictureBox1.Load(OpenFileDialog1.FileName)
End If
End Sub
Sau khi chọn hình xong và nó load lên đối tượng PictureBox, bước tiếp theo ta lưu hình này xuống data viết thủ tục sau:
Public Sub save_HinhNhanVien()
Dim mshinh As New MemoryStream
PictureBox1.Image.Save(mshinh, PictureBox1.Image.RawFormat)
Dim arrhinh() As Byte = mshinh.GetBuffer()
mshinh.Close()
Dim strsql As String = "update tbl_nhanvien set hinh=@hinh where manv=@manv"
CreateConnectSQL()
Dim cmd As New SqlCommand(strsql, strConnectString)
cmd.Parameters.Add(New SqlParameter("@hinh", arrhinh))
cmd.Parameters.Add(New SqlParameter("@manv", txtMaNV.Text))
cmd.ExecuteNonQuery()
strConnectString.Close()
End Sub
Tiếp đó tại sự kiện nút lưu ta viết như sau, ở đây mình không đề cập đến các câu lệnh update, save, delete.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If txtMaNV.Text.Length > 0 Then
If txtHoTen.Text.Length > 0 Then
Dim i As Integer = CheckID("select count(*) from tbl_nhanvien where manv='" & txtMaNV.Text & "'")
If i = 0 Then 'Kiểm tra nếu mã nhân viên trùng thì cập nhật
_Save("insert into tbl_nhanvien(manv,hoten,ngaysinh,noisinh,diachi) values ('" & txtMaNV.Text & "',N'" & txtHoTen.Text & "','" & txtNgaySinh.Text & "',N'" & txtNoiSinh.Text & "',N'" & txtDiaChi.Text & "')")
Else
_Save("update tbl_nhanvien set hoten=N'" & txtHoTen.Text & "',ngaysinh='" & txtNgaySinh.Text & "',noisinh=N'" & txtNoiSinh.Text & "',diachi=N'" & txtDiaChi.Text & "' where manv='" & txtMaNV.Text & "'")
End If
Try
save_HinhNhanVien() 'Cập nhật hình ảnh
Catch ex As Exception
MessageBox.Show(ex.Message, "Image")
End Try
ClearText()
loadData()
Else
MessageBox.Show("Tên nhân viên không được bỏ trống")
txtHoTen.Focus()
End If
Else
MessageBox.Show("Mã nhân viên không được bỏ trống")
txtMaNV.Focus()
End If
End Sub
- Bước tiếp theo load hình ảnh lên form, tại sự kiện TextChanged của txt_MaNV ta viết như sau:
Private Sub txtMaNV_TextChanged(sender As Object, e As EventArgs) Handles txtMaNV.TextChanged
Try
Dim arrhinh() As Byte = CType(load_HinhNhanVien(txtMaNV.Text).Tables(0).Rows(0)("hinh"), Byte())
Dim mshinh As New MemoryStream(arrhinh)
PictureBox1.Image = Image.FromStream(mshinh)
Catch ex As Exception
' MessageBox.Show(ex.Message, "Image", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End Try
End Sub
- Xong rồi đấy, nhấn F5 để thưởng thức kết quả nao :v