- 浏览: 67681 次
- 性别:
- 来自: 重庆
最新评论
利用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中的二进制文件进行存取与更新操作,虽不是最有效的方法,但通过文本的介绍,可使初学者多掌握一种对数据库中的二进制文件进行操作的方法,希望对开发者有所帮助
发表评论
-
SQL server无法执行查询,因为一些文件丢失或未注册等问题的解决
2010-07-12 13:22 2900症状:在SQL server 2000中打开表查看数据的时 ... -
归纳一下:C#线程同步的几种方法
2009-12-24 23:04 1350我们在编程的时候,有时会使用多线程来解决问题,比如你的程序需要 ... -
C#进度条的使用
2009-12-21 18:05 3595C#进度条的使用及开发 ... -
C#读取XML文件
2009-12-20 22:49 2944本文源自:http://blog.163. ... -
OpenFileDialog控件
2009-12-17 21:52 3513打开文件对话框(OpenFileDialog) ... -
c#数据库存取二进制文件
2009-12-10 21:14 3101利用ADO.NET中的OleDbConnection\OleD ... -
access数据库用二进制储存图片,并在web页面显示
2009-12-09 22:10 1661储存:传入确定图片的唯一序列号id 和图片的保存路径fileP ... -
C# 怎样把二进制文件写入Access数据库
2009-12-09 22:09 2284OleDbConnection Mycon = new Ole ... -
c#_string与byte[]之间的转换
2009-10-28 18:48 1422先将stirng s 转换成byte[]存放到source中, ... -
C#_多线程编程
2009-10-28 18:47 864.NET将关于多线程的功 ... -
c#_使用Socket获取IP地址
2009-10-28 18:47 1824Socket socket = new Socket( Add ... -
c#_使用委派修改线程外构造的对象
2009-10-28 18:46 701//定义委派函数(参数与要线程中要执行的函数的参数一致)pub ... -
c#_判断Tcp连接是否可用(Connected)
2009-10-28 18:45 1835//use funciton isConnected to j ... -
c#_监听TCP连接请求
2009-10-28 18:44 13931、use TcpListenerTcpListener ls ... -
网页倒计时
2009-10-05 08:52 867<!DOCTYPE html PUBLIC " ... -
s2sh 中文问题解决
2009-04-13 00:12 879今天配置S2SH ,才发现有些东西,只必须自己亲自动手的,乱码 ...
相关推荐
本教程将详细介绍如何利用VB.NET与Access数据库交互,实现图片文件的保存与读取,并将结果展示在DataGridView控件上。 首先,我们需要创建一个Access数据库,通常使用.mdb或.accdb扩展名。可以使用Access应用程序...
在C#中,我们可以利用`FileStream`类来读取文件,并将其转换为二进制数组,然后再将这些二进制数据存储到数据库中。下面是一个具体的实现示例: ```csharp // 图片存储 protected void Button1_Click(object sender...
5. **处理二进制数据**:在VB.NET中,可以使用`System.IO`命名空间的`Convert`类或`BitConverter`类来处理二进制数据。在将图片数据写入数据库时,需要将图片文件的字节流转换为二进制数据;在读取时,需要将二进制...
这个示例教程对初学者来说是非常有价值的,它展示了如何在实际项目中整合VB.NET编程和数据库操作,特别是处理二进制数据如图片时的技巧。通过学习这些知识点,开发者可以更好地理解如何在Access数据库中有效地存储和...
VB.NET 向 SQL Server 数据库中保存图片 在本节中,我们将讨论如何使用 VB.NET 将图片保存到 SQL Server 数据库中,并从数据库中取出图片浏览。这个例程使用了 SQL Server 的 Northwind 数据库,其中 employees 表...
在VB.Net 2005中处理图片存取是一个常见的任务,这涉及到图像的读取、存储以及与数据库的交互。在这个实例中,我们将探讨如何使用VB.Net 2005来实现这些功能,特别是在与ACCESS数据库配合时的实践方法。 首先,我们...
`百里挑一.exe`是游戏的可执行文件,由VB.NET编译器将源代码编译并链接成的二进制文件。用户可以直接运行这个文件来启动游戏。游戏程序会加载资源文件,处理用户输入,执行游戏逻辑,并显示游戏界面。 至于“资源”...
然而,像.jpg或.bmp这样的图像文件通常都会大于8000字节,因此,SQL Server提供了存储二进制大对象(BLOB)的机制,这包括image、text和ntext三种数据类型。BLOB数据并不是直接存储在用户定义的字段上,而是存放在系统...
在.NET框架下,可以通过C#或VB.NET等编程语言与SQL Server 2000进行交互,实现图片的存取。 首先,我们来看一下如何在SQL Server 2000中存储图片。这通常涉及创建一个可以存储BLOB数据类型的表。例如,你可以创建一...
3. **二进制文件**:图片通常以二进制格式存储,如JPEG、PNG等,这种格式的数据包含连续的0和1,代表像素颜色信息。 4. **Binary字段类型**:在Access数据库中,用于存储大量二进制数据,如图像、音频或视频文件。 ...
2. **二进制文件操作**:`FileStream`类用于处理二进制文件,可以读取或写入任何类型的数据。`BinaryReader`和`BinaryWriter`是其配套的读写工具。 3. **文件流操作**:`FileStream`不仅用于二进制文件,还可以与...
本实例“SQL Server 数据库存取任意文件实例1”将重点讲解如何利用SQL Server来存储和检索非结构化的二进制大对象(Binary Large Object,简称BLOB)数据,如图片、文档等。下面我们将详细探讨相关的知识点。 首先...
下面将详细介绍如何使用VB.NET在Access数据库中存储和读取图片。 首先,我们需要创建一个Access数据库(.mdb文件)。在VS2005中,可以通过“文件”菜单选择“添加新项目”,然后在模板列表中选择“数据库”。接着,...
在VB(Visual Basic)编程中,流...总结来说,VB的流方式存取数据是处理大量二进制数据的有效手段,尤其在与数据库交互时,能提高程序的灵活性和效率。通过熟练掌握各种流类和数据库操作,可以实现复杂的数据管理功能。
两个二进制位进行异或操作,如果相同则结果为0,不同则结果为1。如果使用相同的密钥进行异或加密和解密,可以恢复原始信息。VB6.0中可以方便地实现异或操作,通过定义一个密钥(key),然后将密码与密钥进行异或,...
ActiveX是一种由微软公司推出的编程模型,它允许软件组件通过二进制接口相互作用。在混合编程中,ActiveX可以使得***程序能够控制Matlab,调用Matlab进行科学计算和仿真任务。此外,OLEDB(对象链接和嵌入数据库)是...
第二种方法是直接将图像数据以二进制格式存储在SQL Server 2000数据库的image类型字段中,并通过编码转换来实现存取。这种方法的优点在于图像数据直接以二进制形式存储在数据库中,从而具有更高的灵活性和安全性;...
在将JPG文件存入数据库之前,我们需要将图片文件转换成二进制格式。这可以通过读取文件的字节流完成。在C#或VB.NET中,可以使用`System.IO.File.ReadAllBytes`方法;在Java中,可以使用`java.nio.file.Files....
在Access数据库中,图片通常以BLOB(Binary Large Object)类型存储,这允许存储非结构化的二进制数据,如图像、文档等。 以下是实现这一功能的关键步骤: 1. **图片读取**:首先,你需要从文件系统中读取图片文件...