일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 안드로이드
- 신석현
- 거제도
- 윈도우폰7
- 옴니아2
- 윈도우폰
- 서진호
- 윈도우모바일
- 윈모데브
- 소년포비
- 신동혁
- 소년포비소프트
- 윈도우 모바일
- 쉐어포인트코리아
- 스마트폰
- 마이크로소프트
- 데브피아
- 루나네스
- 실버라이트 코리아
- 윈도데브
- 황광진
- 훈스닷넷
- 헤이맨
- MIX10
- 주신영
- UX베이커리
- 김춘배
- windows mobile 6.5
- 지승욱
- winmodev
- Today
- Total
소년포비의 세계정복!!
[C#] DB에 이미지저장하고 불러오기 본문
private void btnADD_Click(object sender, System.EventArgs e)
{
openFile.DefaultExt = "gif"; //다이얼로그 박스 확장자 gif만을 불러오기
openFile.Filter = "Graphics interchange Format (*.gif)|*.gif";
openFile.ShowDialog();
if( openFile.FileNames.Length > 0 )
{
pictureBox1.Image = Image.FromFile // 우선 픽쳐박스에 뿌려준다..
(openFile.FileNames[0]);
}
}
//세이브 버튼을 클릭하셔서 클릭 이벤트를 생성하시고 Save()를 호출합니다.
private void Save()
{
try
{
object strResult = pictureBox1.Image;
//sql 연결 컨넥트
SqlConnection con = new SqlConnection("Server=111.111.111.111;database=testdb;Password=test;User ID=sa;Initial Catalog=dbTableName");
SqlDataAdapter da = new SqlDataAdapter("select IMG from image", con);
SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
DataSet ds = new DataSet("image");
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
FileStream fs = new FileStream(openFile.FileNames[0] , FileMode.OpenOrCreate, FileAccess.Read);
byte[] MyData= new byte[fs.Length];
fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
da.Fill(ds,"image");
DataRow myRow;
myRow=ds.Tables["image"].NewRow();
myRow["IMG"] = MyData;
ds.Tables["image"].Rows.Add(myRow);
da.Update(ds, "image");
con.Close();
MessageBox.Show("정상적으로 처리되었습니다..","저장되었습니다.",MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
catch(Exception e)
{
MessageBox.Show(e.ToString());
}
}
//폼로드
private void InitializeForm()
{
try
{
string strConn = "User ID=sa;Password=park0515;database=image";
StringBuilder sbSql = new StringBuilder();
DataTable dt = new DataTable();
sbSql.Append("SELECT TOP 1 img FROM IMAGE");
SqlConnection SqlConn = new SqlConnection(strConn);
SqlConn.Open();
SqlCommand cmd = new SqlCommand(sbSql.ToString(),SqlConn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
byte[] MyData = null;
MyData = (byte[])dt.Rows[0][0];
int ArraySize = new int();
ArraySize = MyData.GetUpperBound(0);
FileStream fs = new FileStream("tmp.gif", FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(MyData, 0,ArraySize+1);
fs.Close();
picPHOTO.Image = new Bitmap("tmp.gif");
}
catch(Exception e)
{
MessageBox.Show(e.ToString());
}
}
이런식으로 하시면 되요..
1. testdb로 생성
2. 테이블명을 dbTableName 명시
3. 데이터 형식을 이미지로 img 표시
그럼 테스트 고고고!!!
'프로그램 세상 > C#' 카테고리의 다른 글
[C#] WIN32 API를 이용 (0) | 2009.10.14 |
---|---|
[C#] 전광판처럼 움직이는 라벨 (0) | 2009.10.13 |
[c#] 모든 드라이브 정보 얻기? (0) | 2009.10.11 |
[c#]Thread를 이용한 파일복사하기-프로그래스바 (0) | 2009.10.11 |
[C#] 윈도우 레지스트리(Registry) 읽기/쓰기/관리 (0) | 2009.10.11 |