正文

将资料以二进制方式存入MsSql数据库2008-02-20 21:13:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/iamben250/32811.html

分享到:

将资料以二进制方式存入MsSql数据库 [日期:2007-11-23] 来源:asp.net魔法学院  作者:佚名 [字体:大 中 小] 这个范例示范了如何将档案存入资料库中的 Image 栏位及如何由 Image 栏位取出该档案。 假设资料表 Tb_File 有 ID,ExcelFile 两个栏位,ID 栏位型态为Integer,ExcelFile 栏位型态为 Image,先加入一笔记录,ID=1,ExcelFile=Null,范例中将Excel档案利用Update写入ID=1的记录中及由此记录读取 Image栏位内容并储存成档案。       ’’’ <summary>       ’’’ 读取档案内容写入Buffer中。       ’’’ </summary>       Function FileToBuffer(ByVal FileName As String, ByRef Buffer() As Byte) As Boolean          Dim oFileStream As System.IO.FileStream                 If Not System.IO.File.Exists(FileName) Then              Return False          End If                ’开启档案为读取状态           oFileStream = System.IO.File.OpenRead(FileName)                 ’将档案读入 Buffer 中           ReDim Buffer(oFileStream.Length)           oFileStream.Read(Buffer, 0, oFileStream.Length)                 oFileStream.Close()           Return True      End Function            ’’’ <summary>       ’’’ 将 Buffer 的内容写入档案中。VB.NET专题站点       ’’’ </summary>       Function BufferToFile(ByVal FileName As String, ByVal Buffer() As Byte) As Boolean          Dim oFileStream As System.IO.FileStream                 Try              If System.IO.File.Exists(FileName) = False Then                  ’ Create the file.                   oFileStream = System.IO.File.Create(FileName)                   oFileStream.Close()               End If                    ’开启档案为写入状态               oFileStream = System.IO.File.OpenWrite(FileName)                    ’将 Buffer 写入档案中              oFileStream.Write(Buffer, 0, Buffer.Length)                     oFileStream.Close()               Return True          Catch              Return False          End Try      End Function            ’Button1 Click 将档案存入资料库中的 Image 型别的栏位'www.wewill.cn    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click           Dim sConnStr As String = String.Empty           Dim cn As New SqlClient.SqlConnection()           Dim cmd As New SqlClient.SqlCommand()           Dim param As SqlClient.SqlParameter           Dim sSQL As String = String.Empty           Dim Buffer() As Byte = Nothing                If Not FileToBuffer("C:\test1.xls", Buffer) Then Exit Sub                sConnStr = "Data Source=localhost;Initial Catalog=CHIComm;Integrated Security=True"          cn.ConnectionString = sConnStr           cn.Open()                 sSQL = "Update Tb_File Set ExcelFile=@ExcelFile Where ID=1"               cmd = New SqlClient.SqlCommand(sSQL, cn)           param = New SqlClient.SqlParameter("@ExcelFile", SqlDbType.Image)           param.Value = Buffer           cmd.Parameters.Add(param)           cmd.ExecuteNonQuery()                 cmd = Nothing          cn.Close()           cn = Nothing      End Sub            ’Button2 Click 读取资料库的 Image 型别栏位并储存成档案       Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click           Dim sConnStr As String = String.Empty           Dim cn As New SqlClient.SqlConnection()           Dim cmd As New SqlClient.SqlCommand()           Dim sSQL As String = String.Empty           Dim dr As SqlClient.SqlDataReader           Dim Buffer() As Byte = Nothing                sConnStr = "Data Source=localhost;Initial Catalog=CHIComm;Integrated Security=True"          cn.ConnectionString = sConnStr          cn.Open()                 sSQL = "Select ExcelFile From Tb_File Where ID=1"          cmd = New SqlClient.SqlCommand(sSQL, cn)                 dr = cmd.ExecuteReader()           dr.Read()           Buffer = dr.Item("ExcelFile")           BufferToFile("C:\test2.xls", Buffer)       End Sub    

阅读(2369) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册