`
baiwenwo
  • 浏览: 67646 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

vb.net数据库存取二进制文件

阅读更多

利用Dataset可以方便的对SQL   Server中的二进制文件进行存取与更新操作,下面是详细的代码演示  
   
   
  演示环境:  
   
  数据库机器名 :s_test  
  登陆名 :sa  
  密码 :7890  
  数据库名     db_test  
   
  下面建立一个表:  
  create   table   tb_test(id   int   identity(1,1),photo   image   ,constraint   pk_tb_test   primary   key(id))  
   
  一、将硬盘上的文件保存至数据库(VB.NET)  
   
  '----------------------------------------------------------  
  '----------------------------------------------------------  
  '下面的示例将c:\1.jpg文件保存至数据库的tb_test表中  
  '----------------------------------------------------------  
  '----------------------------------------------------------  
   
  Imports   System.IO  
  Imports   System.Data.SqlClient  
   
  Public   Class   image  
          Shared   Sub   Main()  
   
                  '读入文件数据  
                  Dim   fs   =   New   FileStream("c:\1.jpg",   IO.FileMode.Open,   IO.FileAccess.Read)  
                  Dim   imgData(fs.Length   -   1)   As   Byte  
                  fs.Read(imgData,   0,   fs.Length   -   1)  
                  fs.close()  
   
                  Dim   tempConnection   As   New   SqlConnection  
                  Dim   tempAdapter   As   SqlDataAdapter  
                  Dim   tempDataset   As   New   DataSet  
                  '打开数据库连接  
                  tempConnection.ConnectionString   =   "server=s_Test;uid=sa;pwd=7890;database=db_test"  
                  tempConnection.Open()  
                  tempAdapter   =   New   SqlDataAdapter("SELECT   *   FROM   tb_test   WHERE   1=0",   tempConnection)  
                  Dim   cb   As   New   SqlCommandBuilder(tempAdapter)  
                  tempAdapter.Fill(tempDataset)  
                  '插入一条记录  
                  Dim   tempDataRow   As   DataRow  
                  tempDataRow   =   tempDataset.Tables(0).NewRow()  
                  tempDataRow("photo")   =   imgData  
                  tempDataset.Tables(0).Rows.Add(tempDataRow)  
                  tempAdapter.Update(tempDataset)  
                  tempConnection.Close()  
          End   Sub  
  End   Class  
   
   
  二、将数据库中的文件保存至硬盘(VB.NET)  
  '----------------------------------------------------------  
  '----------------------------------------------------------  
  '下面的示例将数据库的tb_test表中第一条记录的photo保存至c:\2.jpg  
  '----------------------------------------------------------  
  '----------------------------------------------------------  
   
  Imports   System.IO  
  Imports   System.Data.SqlClient  
   
  Public   Class   image  
          Shared   Sub   Main()  
   
                  Dim   tempConnection   As   New   SqlConnection  
                  Dim   tempAdapter   As   SqlDataAdapter  
                  Dim   tempDataset   As   New   DataSet  
                  '打开数据库连接,取出数据  
                  tempConnection.ConnectionString   =   "server=s_test;uid=sa;pwd=7890;database=db_test"  
                  tempConnection.Open()  
                  tempAdapter   =   New   SqlDataAdapter("SELECT   TOP   1   *   FROM   tb_test",   tempConnection)  
                  tempAdapter.Fill(tempDataset)  
                  tempConnection.Close()  
   
                  If   tempDataset.Tables(0).Rows.Count   >   0   Then  
                          '将文件保存到硬盘文件c:\2.jpg  
                          Dim   imgData()   As   Byte  
                          imgData   =   tempDataset.Tables(0).Rows(0).Item("photo")  
                          Dim   fs   As   FileStream  
                          fs   =   File.Create("c:\2.jpg",   imgData.Length   -   1)  
                          fs.Write(imgData,   0,   imgData.Length   -   1)  
                          fs.Close()  
                  End   If  
          End   Sub  
  End   Class  
   
  三、更新数据库中保存的文件  
  '----------------------------------------------------------  
  '----------------------------------------------------------  
  '下面的示例用将数据库的tb_test表中第一条记录的photo更新为c:\2.jpg  
  '----------------------------------------------------------  
  '----------------------------------------------------------  
  Imports   System.IO  
  Imports   System.Data.SqlClient  
   
  Public   Class   image  
          Shared   Sub   Main()  
   
                  '读取文件  
                  Dim   fs   =   New   System.IO.FileStream("c:\2.jpg",   IO.FileMode.Open,   IO.FileAccess.Read)  
                  Dim   imgData(fs.Length   -   1)   As   Byte  
                  fs.Read(imgData,   0,   fs.Length   -   1)  
                  fs.close()  
   
                  Dim   tempConnection   As   New   SqlConnection  
                  Dim   tempAdapter   As   SqlDataAdapter  
                  Dim   tempDataset   As   New   DataSet  
                  '打开数据库连接,取出数据  
                  tempConnection.ConnectionString   =   "server=s_test;uid=sa;pwd=7890;database=db_test"  
                  tempConnection.Open()  
                  tempAdapter   =   New   SqlDataAdapter("SELECT   TOP   1   *   FROM   tb_test",   tempConnection)  
                  tempAdapter.Fill(tempDataset)  
                  '更新数据  
                  Dim   cb   As   New   SqlCommandBuilder(tempAdapter)  
                  tempDataset   =   New   DataSet  
                  tempAdapter.Fill(tempDataset)  
                  tempDataset.Tables(0).Rows(0).Item("photo")   =   imgData  
                  tempAdapter.Update(tempDataset)  
                  tempConnection.Close()  
          End   Sub  
  End   Class  
   
  总结:  
  利用Dataset可以方便的对SQL   Server中的二进制文件进行存取与更新操作,虽不是最有效的方法,但通过文本的介绍,可使初学者多掌握一种对数据库中的二进制文件进行操作的方法,希望对开发者有所帮助

分享到:
评论

相关推荐

    vb.net 使用Access数据库保存和读取图片文件

    本教程将详细介绍如何利用VB.NET与Access数据库交互,实现图片文件的保存与读取,并将结果展示在DataGridView控件上。 首先,我们需要创建一个Access数据库,通常使用.mdb或.accdb扩展名。可以使用Access应用程序...

    .net 图片的二进制数据库存储和显示

    在C#中,我们可以利用`FileStream`类来读取文件,并将其转换为二进制数组,然后再将这些二进制数据存储到数据库中。下面是一个具体的实现示例: ```csharp // 图片存储 protected void Button1_Click(object sender...

    数据库中存取图片

    5. **处理二进制数据**:在VB.NET中,可以使用`System.IO`命名空间的`Convert`类或`BitConverter`类来处理二进制数据。在将图片数据写入数据库时,需要将图片文件的字节流转换为二进制数据;在读取时,需要将二进制...

    access+vb.net读写图片到数据库

    这个示例教程对初学者来说是非常有价值的,它展示了如何在实际项目中整合VB.NET编程和数据库操作,特别是处理二进制数据如图片时的技巧。通过学习这些知识点,开发者可以更好地理解如何在Access数据库中有效地存储和...

    Vb.net向sql server数据库中保存图片

    VB.NET 向 SQL Server 数据库中保存图片 在本节中,我们将讨论如何使用 VB.NET 将图片保存到 SQL Server 数据库中,并从数据库中取出图片浏览。这个例程使用了 SQL Server 的 Northwind 数据库,其中 employees 表...

    VB.Net2005图片存取实例

    在VB.Net 2005中处理图片存取是一个常见的任务,这涉及到图像的读取、存储以及与数据库的交互。在这个实例中,我们将探讨如何使用VB.Net 2005来实现这些功能,特别是在与ACCESS数据库配合时的实践方法。 首先,我们...

    VB.NET找字游戏 百里挑一

    `百里挑一.exe`是游戏的可执行文件,由VB.NET编译器将源代码编译并链接成的二进制文件。用户可以直接运行这个文件来启动游戏。游戏程序会加载资源文件,处理用户输入,执行游戏逻辑,并显示游戏界面。 至于“资源”...

    如何用VB.NET存取SQL Server2000中的图像数据.pdf

    然而,像.jpg或.bmp这样的图像文件通常都会大于8000字节,因此,SQL Server提供了存储二进制大对象(BLOB)的机制,这包括image、text和ntext三种数据类型。BLOB数据并不是直接存储在用户定义的字段上,而是存放在系统...

    sql2000数据库存储图片,.net 数据库存储图片,数据库存储图片

    在.NET框架下,可以通过C#或VB.NET等编程语言与SQL Server 2000进行交互,实现图片的存取。 首先,我们来看一下如何在SQL Server 2000中存储图片。这通常涉及创建一个可以存储BLOB数据类型的表。例如,你可以创建一...

    VB保存图片到数据库中.rar

    3. **二进制文件**:图片通常以二进制格式存储,如JPEG、PNG等,这种格式的数据包含连续的0和1,代表像素颜色信息。 4. **Binary字段类型**:在Access数据库中,用于存储大量二进制数据,如图像、音频或视频文件。 ...

    Visual Basic 2005文件IO与数据存取秘诀(数据库连接)

    2. **二进制文件操作**:`FileStream`类用于处理二进制文件,可以读取或写入任何类型的数据。`BinaryReader`和`BinaryWriter`是其配套的读写工具。 3. **文件流操作**:`FileStream`不仅用于二进制文件,还可以与...

    SQL Server 数据库存取任意文件实例1

    本实例“SQL Server 数据库存取任意文件实例1”将重点讲解如何利用SQL Server来存储和检索非结构化的二进制大对象(Binary Large Object,简称BLOB)数据,如图片、文档等。下面我们将详细探讨相关的知识点。 首先...

    VS2005-图片存取access数据库

    下面将详细介绍如何使用VB.NET在Access数据库中存储和读取图片。 首先,我们需要创建一个Access数据库(.mdb文件)。在VS2005中,可以通过“文件”菜单选择“添加新项目”,然后在模板列表中选择“数据库”。接着,...

    VB 流方式存取数据

    在VB(Visual Basic)编程中,流...总结来说,VB的流方式存取数据是处理大量二进制数据的有效手段,尤其在与数据库交互时,能提高程序的灵活性和效率。通过熟练掌握各种流类和数据库操作,可以实现复杂的数据管理功能。

    vb60简单存取密码

    两个二进制位进行异或操作,如果相同则结果为0,不同则结果为1。如果使用相同的密钥进行异或加密和解密,可以恢复原始信息。VB6.0中可以方便地实现异或操作,通过定义一个密钥(key),然后将密码与密钥进行异或,...

    Matlab、Access和VB.NET混合编程方法的研究和应用.pdf

    ActiveX是一种由微软公司推出的编程模型,它允许软件组件通过二进制接口相互作用。在混合编程中,ActiveX可以使得***程序能够控制Matlab,调用Matlab进行科学计算和仿真任务。此外,OLEDB(对象链接和嵌入数据库)是...

    ADO.NET存取SQL SERVER 2000中图像数据的实现.pdf

    第二种方法是直接将图像数据以二进制格式存储在SQL Server 2000数据库的image类型字段中,并通过编码转换来实现存取。这种方法的优点在于图像数据直接以二进制形式存储在数据库中,从而具有更高的灵活性和安全性;...

    JPG文件存入数据库的代码

    在将JPG文件存入数据库之前,我们需要将图片文件转换成二进制格式。这可以通过读取文件的字节流完成。在C#或VB.NET中,可以使用`System.IO.File.ReadAllBytes`方法;在Java中,可以使用`java.nio.file.Files....

    VB+Access存储图片与读取示例

    在Access数据库中,图片通常以BLOB(Binary Large Object)类型存储,这允许存储非结构化的二进制数据,如图像、文档等。 以下是实现这一功能的关键步骤: 1. **图片读取**:首先,你需要从文件系统中读取图片文件...

Global site tag (gtag.js) - Google Analytics