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. ...
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
Download Project