CAFE

Winform & WPF | C# 질문

[vb.net]vb.net 2010 에서 filestream 사용 방법

작성자성춘기|작성시간11.06.08|조회수377 목록 댓글 0

QnA

 

사용언어 (칠해주세요) => (C#,VB)

사용툴 (VS) :

운영체제 (OS) : 



vb.net 2010 에서 filestream 을 사용 하여 DB에 엑셀 파일을 자체를 저장하려고 합니다.

엑셀내용이 아니라....엑셀 파일 자체를 DB에 저장하는 겁니다!!!!

 

아래는 제가 구현한 소스인데.. 잘 못된 겁니다.. 저장은 되는데 엑셀 파일을 불러오면 다 깨지거든요..

 

어떻게 하면 DB에 저장을 할 수 있는 지 알려 주시면 감사하겠습니다.

부탁드립니다..ㅠㅠ

 

Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        Dim strInFile As String = OpenFileDialog1.FileName
        Dim intsaveLength As Integer
        Dim fs As FileStream
        Dim br As BinaryReader
        Dim info As New FileInfo(strInFile)
        Dim saveFile(CInt(info.Length)) As Byte
        fs = New FileStream(strInFile, FileMode.Open, FileAccess.Read)
        br = New BinaryReader(fs)
        saveFile = br.ReadBytes(CInt(info.Length))
        intsaveLength = Int(CType(saveFile.Length, Integer))

        Dim strBase64saveFile As String = Convert.ToBase64String(saveFile)

        Dim cmd As New SqlCommand("insert into filetest (filename, filesave) values(@filename, @filesave)", adoCon)
        cmd.Parameters.Add("@filename", SqlDbType.NVarChar, 50).Value = TextBox1.Text
        Dim P As New SqlParameter("@filesave", strBase64saveFile)
        cmd.Parameters.Add(P)
        cmd.ExecuteNonQuery()
        MsgBox("저장되었습니다!..")

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        SaveFileDialog1.ShowDialog()
        Dim PictureCol As Integer = 0
        Dim cmd As New SqlCommand("SELECT filesave FROM filetest WHERE filename = '" & TextBox1.Text & "'", adoCon)
        Dim dr As SqlDataReader = cmd.ExecuteReader()
        dr.Read()
        Dim b(dr.GetBytes(PictureCol, 0, Nothing, 0, Integer.MaxValue) - 1) As Byte
        dr.GetBytes(PictureCol, 0, b, 0, b.Length)
        dr.Close()
        Dim fs As New System.IO.FileStream(SaveFileDialog1.FileName, IO.FileMode.Create, IO.FileAccess.Write)
        fs.Write(b, 0, b.Length)
        fs.Close()

    End Sub

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼