저장하기


1. 파일주소 가져오기

            OpenFileDialog openFileDialo1 = new OpenFileDialog();
            openFileDialo1.Filter = "이미지 files(*.bmp)|*.bmp";
            if (openFileDialo1.ShowDialog() == DialogResult.OK)
            {
                ImageSave(openFileDialo1.FileName);  //파일주소를 넘겨줬다
            }


2. 바이트배열에 저장하기

FileStream stream = new FileStream(파일주소, FileMode.Open, FileAccess.Read); //파일입출력을 할 수 있게한다.
BinaryReader reader = new BinaryReader(stream);    //이진값으로 읽는다.                                      

byte[] photo = reader.ReadBytes((int)stream.Length); //이진화시킨값을  바이트배열에 넣는다.


3.DB에 바이트배열을 넣는다.

SqlParameter sparam2 = new SqlParameter("@TEST_IMAGE", SqlDbType.Image, photo.Length);            sparam2.Value = photo;


로드하기


SqlDataReader dr = scom.ExecuteReader(); 
//ExecuteReader()를 날려서 CommandText을 Connection에 날려주고 SqlDataReader를 반환해준다.
//select Crop_Image from Image_Table where @CROP_NAME = Crop  쿼리는 이렇다.

while (dr.Read())
{
       MyData = (byte[])dr.GetValue(0);
       ArraySize = MyData.GetUpperBound(0); //배열크기의 상한값을 넣어준다.
}

MemoryStream ms = new MemoryStream(MyData, 0, ArraySize+1);
//파일을 읽을수 있게 스트림형식으로 바꿔준다.

pictureBox1.Image = Image.FromStream(ms);
//사진을 보여준다.





'.NET > ADO.NET' 카테고리의 다른 글

다른컴퓨터로 DB 복사  (0) 2010.07.12
내장 프로시저(사용법)  (0) 2010.07.10
DB모델링  (0) 2010.05.28
SqlDataAdapter  (0) 2010.04.02
DataSet  (0) 2010.04.02
Posted by 아몰라