`
baiwenwo
  • 浏览: 66065 次
  • 性别: 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# webform 二进制 文件 存取实例

    自己写的代码,项目都在运行,决定可以使用,代码有注释,博客有说明,有问题还可以私信我,注意如果有axja的话需要把上传按钮事件在局部刷新中注册一下,不然取不到上传的文件

    图片以二进制存取数据库

    图片以二进制存取数据库

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

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

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

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

    C#使用SQLite存取图片的示例

    这是一个C#.NET示例程序, 简单演示了如何使用C#操作SQLite数据库。同时演示了如何用C#讲图片二进制数据存储到数据库和从数据库读取图片二进制数据并显示在PictureBox.

    图片在数据库中的存取

    图片在数据库中的存取,

    C#+SQL实现图片存取

    C#+SQL实现图片存取的源代码

    用ASP.NET实现对Image类型数据的存取

    通过对ADO.NET技术特点的简要介绍,提出了对数据库中Image...该实例为数据库中多种二进制大对象类型的数据,包括图片、声音、视频及各种Office文档等进行存储与显示提供了一种可行的有效方法,并且给出部分程序源代码

    2009年3月2日论坛问题集

    c#中关于二进制流的读取问题 图片存取数据库问题 数据库问题

    C#/.NET对数据库操作大全

    Database、Linq操作DataSet、Linq操作SQL、Linq操作Xml、Linq操作数组集合、触发器SQL文件、读取数据库表结构、二进制存取图片、交叉表、数据库管理、通过存储过程管理信息、通过视图修改信息、通用数据库连接等...

    sqlite另类存取(对象存取)

    andorid sqlite数据库另类存取方法,对象存取,采用序列化把对象转换成二进制存取。同时读取的时候相反。

    明日科技《C#示例源代码》(5-8)

    实例095 使用二进制存取用户头像 342 实例096 使用交叉表实现商品销售统计 345 实例097 通过视图修改职工信息 347 实例098 通过存储过程对职工信息进行管理 350 实例099 使用触发器添加、修改及删除...

    明日科技《C#示例源代码》(9-12)

    实例095 使用二进制存取用户头像 342 实例096 使用交叉表实现商品销售统计 345 实例097 通过视图修改职工信息 347 实例098 通过存储过程对职工信息进行管理 350 实例099 使用触发器添加、修改及删除...

    C#示例(配套光盘源码)第二部分

    实例095 使用二进制存取用户头像 342 实例096 使用交叉表实现商品销售统计 345 实例097 通过视图修改职工信息 347 实例098 通过存储过程对职工信息进行管理 350 实例099 使用触发器添加、修改及删除职工...

    明日科技C#示例源码.part02

    实例095 使用二进制存取用户头像 342 实例096 使用交叉表实现商品销售统计 345 实例097 通过视图修改职工信息 347 实例098 通过存储过程对职工信息进行管理 350 实例099 使用触发器添加、修改及删除...

    明日科技C#示例源码.part04

    实例095 使用二进制存取用户头像 342 实例096 使用交叉表实现商品销售统计 345 实例097 通过视图修改职工信息 347 实例098 通过存储过程对职工信息进行管理 350 实例099 使用触发器添加、修改及删除...

    明日科技C#示例源码.part03

    实例095 使用二进制存取用户头像 342 实例096 使用交叉表实现商品销售统计 345 实例097 通过视图修改职工信息 347 实例098 通过存储过程对职工信息进行管理 350 实例099 使用触发器添加、修改及删除...

    C#编程经验技巧宝典

    58 <br>0081 文本中首字母改为大写 59 <br>0082 C#随机数的产生 59 <br>0083 身份证从15位升至18位算法 60 <br>0084 十进制数转二进制数的算法 60 <br>0085 十进制数转八进制数的算法 61...

    C#示例(配套光盘源码)第五部分

    实例095 使用二进制存取用户头像 342 实例096 使用交叉表实现商品销售统计 345 实例097 通过视图修改职工信息 347 实例098 通过存储过程对职工信息进行管理 350 实例099 使用触发器添加、修改及删除职工...

Global site tag (gtag.js) - Google Analytics