본문 바로가기

Visual Std 2010

VisualStudio2010 , MSSQL2008 이미지 컨트롤 (Stream 사용)

VIsualStudio2010 vb.net 을 이용한 윈폼에서 MSSQL 2008에 이미지를 저장하고 불러오는 내용입니다.

참고하시기 바랍니다.

 

화면은 불러오기 버튼(buttion1), DB저장 버튼(buttion2), 불러오기 버튼(buttion3) 입니다.

PC에 저장된 이미지를 찾기위해 OpenFileDialog 컨트롤을 사용했습니다.

여기서 버튼1은 PC에 저장된 이미지를 OpenDialogBox를 이용해 Picturebox1에 나타내는 버튼이고

버튼 3은 DB에 저장된 이미지를 Picturebox2에 나타내는 버튼입니다.

 

화면은 아래와 같이 Test용으로 대충 만들었습니다.

 

Form1에 올라가 있는 컨트롤

  • -불러오기(FILE) - Button1
  • -DB저장 - Button2
  • -불러오기(DB) - Button3 
  • -Picturebox1 (파일이미지)
  • -Picturebox2 (DB이미지)
  • -OpenFileDialog1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Dataset 입니다.

 

 

아래는 vb.net 소스입니다. (PictureBox2에 이미지가 저장된 해당 테이블의 컬럼을 바인드 시켜줍니다)

 

Imports System
Imports System.IO

Public Class 사원조회

 

    Public filename As String

 

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

 

        Dim Open As New OpenFileDialog()

 

        Open.Filter = "모든 그림 파일|*.bmp;*.pic;*.jpg|BMP 파일|*.bmp|PIC 파일|*.pic|JPG 파일|*.jpg"

 

        If Open.ShowDialog = DialogResult.Cancel Then Exit Sub

 

        filename = Open.FileName

 

        Dim NewImage As Image = Image.FromFile(FileName)

        PictureBox1.Image = NewImage


    End Sub

 

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click

 

        Dim fileinfo As New FileInfo(FileName)
        Dim imagestream As Stream = fileinfo.OpenRead

        Dim imagedata(imagestream.Length) As Byte

 

        imagestream.Read(imagedata, 0, fileinfo.Length)

        Me.ImageTableAdapter1.InsertQuery(1, imagedata)
    End Sub

 

    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
        Me.ImageTableAdapter1.Fill(DataSet2.IMAGE)
    End Sub
End Class

 

정말 간단하게 이미지를 찾아서 저장하고 불러올수가 있습니다.

복잡한 코딩은 이제 그만~~!!^^