저장하기
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 |