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

c#数据库存取二进制文件

阅读更多

利用ADO.NET中的OleDbConnection\OleDbCommand   可以方便的对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))  
   
  一、将硬盘上的文件保存至数据库(C#)  
   
  //----------------------------------------------------------  
  //----------------------------------------------------------  
  //下面的示例将c:\1.txt文件保存至数据库的tb_test表中  
  //----------------------------------------------------------  
  //----------------------------------------------------------  
   
  using   System;  
  using   System.IO;    
  using   System.Data;  
  using   System.Data.OleDb;  
     
  class   image_test  
  {  
  [STAThread]  
  static   void   Main(string[]   args)  
  {  
  try  
  {  
  //初始化OleDbConnection和OleDbCommand  
  OleDbConnection   cn   =   new   OleDbConnection("provider=sqloledb;server=s_test;user   id=sa;password=7890;initial   catalog=db_test");  
  OleDbCommand   cmd   =   new   OleDbCommand("INSERT   tb_test(photo)   VALUES(?)",cn);  
   
  //打开文件  
  FileStream   fs   =   new   FileStream("c:\\1.txt",   FileMode.Open,   FileAccess.Read);  
  Byte[]   b   =   new   Byte[fs.Length];  
  fs.Read(b,   0,   b.Length);  
  fs.Close();  
   
  //打开连接  
  OleDbParameter   prm   =   new   OleDbParameter("@photo",OleDbType.VarBinary   ,b.Length,    
  ParameterDirection.Input,   false,   0,   0,   null,DataRowVersion.Current,   b);  
  cmd.Parameters.Add(prm);  
  cn.Open();  
   
  //执行  
  if   (cmd.ExecuteNonQuery()   ==   1)  
  Console.WriteLine("OK");  
  else  
  Console.WriteLine("Fail");    
  cn.Close();  
  }  
  catch(Exception   ex)  
  {  
  Console.WriteLine(ex.Message   );  
  }  
  }  
  }        
   
   
   
  三、更新数据库中保存的文件  
   
  //----------------------------------------------------------  
  //----------------------------------------------------------  
  //下面的示例用将数据库的tb_test表中ID=1的记录的photo更新为c:\1.txt  
  //----------------------------------------------------------  
  //----------------------------------------------------------  
   
  using   System;  
  using   System.IO;    
  using   System.Data;  
  using   System.Data.OleDb;  
     
  class   image_test  
  {  
  [STAThread]  
  static   void   Main(string[]   args)  
  {  
  try  
  {  
  //初始化OleDbConnection和OleDbCommand  
  OleDbConnection   cn   =   new   OleDbConnection("provider=sqloledb;server=s_test;user   id=sa;password=7890;initial   catalog=db_test");  
  OleDbCommand   cmd   =   new   OleDbCommand("UPDATE   tb_test   SET   photo=   ?   WHERE   ID=1",cn);  
   
  //打开文件  
  FileStream   fs   =   new   FileStream("c:\\1.txt",   FileMode.Open,   FileAccess.Read);  
  Byte[]   b   =   new   Byte[fs.Length];  
  fs.Read(b,   0,   b.Length);  
  fs.Close();  
   
  //打开连接  
  OleDbParameter   prm   =   new   OleDbParameter("@photo",OleDbType.VarBinary   ,b.Length,    
  ParameterDirection.Input,   false,   0,   0,   null,DataRowVersion.Current,   b);  
  cmd.Parameters.Add(prm);  
  cn.Open();  
   
  //执行  
  if   (cmd.ExecuteNonQuery()   ==   1)  
  Console.WriteLine("OK");  
  else  
  Console.WriteLine("Fail");    
  cn.Close();  
  }  
  catch(Exception   ex)  
  {  
  Console.WriteLine(ex.Message   );  
  }  
  }  
  }

分享到:
评论

相关推荐

    c#数据库操作二进制存取图片源码.rar

    "c#数据库操作二进制存取图片源码.rar"这个压缩包文件显然包含了一个示例项目,展示了如何在C#中将图片以二进制形式存储到数据库,并进行读取。这种做法通常用于存储无法直接作为文本的非结构化数据。 首先,我们来...

    C#实现把图片转换成二进制以及把二进制转换成图片的方法示例

    C#实现图片与二进制相互转换及数据库存储 本文主要介绍了C#实现把图片转换成二进制以及把二进制转换成图片的方法,并结合具体实例形式分析了基于C#的图片与二进制相互转换以及图片保存到数据库的相关操作技巧。 一...

    C# webform 二进制 文件 存取实例

    【C# WebForm二进制文件存取实例】 在C# WebForm开发中,处理二进制文件(如图片、音频、视频等)是常见的需求。这个实例将深入讲解如何在C# WebForm环境中实现对二进制文件的读取和存储。下面,我们将详细探讨相关...

    图片以二进制存取数据库

    1. **读取图片文件**:使用编程语言(如Java、Python、C#)的内置函数读取图片文件,将其转换为二进制数据流。 2. **连接数据库**:建立与数据库的连接,这通常需要数据库驱动程序(如JDBC、ODBC)和正确的连接参数...

    C# 数据库图像存取

    通常,我们不会直接将图像文件存储为二进制文件,而是将其转换为二进制数据,然后存储在数据库的BLOB(Binary Large Object)类型字段中。在SQL Server中,这种类型通常称为`varbinary(max)`。 1. **存储图像到...

    C# 二进制文件的读写

    在C#编程中,二进制文件的读写...通过熟练掌握`BinaryReader`和`BinaryWriter`的使用,开发者可以在C#中高效地处理二进制文件,实现数据的存取。在实际项目中,这是一项至关重要的技能,特别是在处理大量非文本数据时。

    c# 数据库存取文件与下载

    在C#编程中,数据库存取文件和下载是常见的任务,...总的来说,C#数据库存取文件和下载涉及数据库操作、文件I/O、HTTP响应以及安全策略等多个方面。通过理解这些概念和技术,开发者可以构建高效且安全的文件管理系统。

    C#存取二进制图片[文].pdf

    在C#中,存储和检索二进制数据,如图片,通常...总的来说,C#处理二进制图像数据涉及文件流操作、数据库交互以及Web应用程序中的用户输入处理。理解这些步骤对于开发涉及图像存储的任何.NET应用程序都是至关重要的。

    C#数据库存取图片

    在C#编程中,数据库存取图片涉及到的主要技术是数据库操作和二进制数据处理。以下将详细讲解如何使用C#来实现这一功能。 首先,我们需要了解基础的数据库概念。在C#中,通常会使用ADO.NET框架来与各种数据库(如SQL...

    C# 图片数据库存取示例

    总结,C#图片数据库存取涉及数据库选择、数据交互方式、图片的二进制存储、元数据管理、查询和检索以及性能优化和安全措施等多个方面。理解并掌握这些知识点,能够帮助开发者构建出高效、安全的图片管理系统。

    C#数据库存取图片详细

    综上所述,C#数据库存取图片涉及到数据库选择、图片编码、ADO.NET操作、SQL语句编写、性能优化和安全性等多个方面。理解并掌握这些知识点,能帮助开发者高效且安全地实现图片的数据库存储和读取功能。

    asp.net(c#)实现从sqlserver存取二进制图片的代码

    有一个员工表Employee,需要保存员工照片(Photo)到数据库(sql server)上。员工照片对应的字段是varbinary(max),也就是要存成二进制文件类型(这和以前讨巧地存图片文件路径就不相同了),默认可以为空。

    .NET 图片,文件等二进制数据在数据库中的存取代码

    .NET 中,图片、文件等二进制数据在数据库中的存取代码,代码里面演示的是C#保存Word文档到数据库的方法,完全可以换成图片等其他文件

    C#将文件保存到数据库中或者从数据库中读取文件

    将文件保存到数据库中实际上是将文件转换成二进制流后,将二进制流保存到数据库相应的字段中。在 SQL Server 中该字段的数据类型是 Image,在 Access 中该字段的数据类型是 OLE 对象。 在 C# 中,我们可以使用以下...

    基于asp.net C#的二进制图片的存取

    本主题将深入探讨如何使用C#语言在VS2008中进行二进制图片的存取操作,这对于构建动态网站和Web应用程序至关重要。 一、二进制数据与图片的关系 图片本质上是二进制数据的集合,这些数据按照特定的格式(如JPEG、...

    使用二进制存取用户头像

    "使用二进制存取用户头像"这个主题涉及到如何将图像数据以二进制形式存储并从数据库中检索,以提高数据传输速度和节省存储空间。下面将详细介绍这个过程及其相关知识点。 一、二进制数据存储 1. 图像文件格式:...

    图片在数据库中的存取

    图片在数据库中的存取是一个多步骤的过程,涉及数据类型的选择、文件的二进制转换、存储策略以及高效的查询方法。 首先,我们需要了解数据库如何存储非结构化数据如图片。常见的方法有两种:一是将图片文件直接存储...

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

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

    C#中上传文件到数据库

    1. **文件流与二进制数据**:在C#中,文件通常以字节流的形式处理。`System.IO.FileStream`类用于读取文件内容到内存中,然后可以将其转换为`byte[]`数组,这是大多数数据库系统接受的二进制数据格式。 2. **ASP...

Global site tag (gtag.js) - Google Analytics