当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 用 C# 编程实现读写Binary

ASP.NET
安装IE补丁后ASP.NET将无法运行
在ASP.Net中应用Javascript
用ASP.NET 1.1 新特征防止Script攻击
ASP.NET中在线用户统计的简单实现及讨论
ASP.NET中将数据输出到Excel
在ASP.NET中从SQL Server检索图片
ASP.NET系统用户权限设计与实现
利用ASP.NET技术动态生成HTML页面
大数量查询分页显示 微软的解决办法
ASP.NET WEB页面多语言支持解决方案
ASP.NET 2.0里轻松获取数据库连接统计数据
ASP.NET通过DSO访问分析服务器的权限问题
ASP实现禁止从外部提交数据
Asp.Net 使用 GDI+ 绘制3D饼图入门篇源码
在ASP.NET中点击一个按钮后让它变灰的简单方法
利用JS在asp.net中实现左导航页的隐藏
asp.net中一次更新DATAGRID中所有记录
用Asp.net屏蔽F5、Ctrl+N、Alt+F4
asp.net中用C#实现站点计数器用户控件
认识ASP.NET配置文件Web.config

ASP.NET 中的 用 C# 编程实现读写Binary


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 119 ::
收藏到网摘: n/a

  本文给出一个用 C# 编程实现读写 Binary 的实例代码,对于初学者来说是个不可多得的参考性文章……

  //返回blob数据
  public MemoryStream getBlob(string SQL)
  ...{
  try
  ...{
  Db_Conn();
  cmd = new OleDbCommand(SQL, Conn);
  cmd.CommandType = CommandType.Text;//是sql
  OleDbDataReader Rs = cmd.ExecuteReader();
  if (Rs.Read()) //循环到下一条记录
  ...{
  if (!(Rs.GetValue(0) is System.DBNull))
  ...{
  byte[] image_bytes = (byte[])Rs.GetValue(0);
  MemoryStream ms = new MemoryStream(image_bytes);
  return ms;
  }
  else
  return null;
  }
  else
  return null;
  }
  finally
  ...{
  this.close();
  }
  }
  //设置blob
  public bool SetBlob(string SQL, MemoryStream Ms)
  ...{
  try
  ...{
  Db_Conn();
  cmd = new OleDbCommand(SQL, Conn);
  cmd.CommandType = CommandType.Text;//是sql
  int n=Convert.ToInt32(Ms.Length.ToString());
  Ms.Position = 0;
  byte[] pReadByte = new Byte[n];
  Ms.Read(pReadByte, 0, n);
  cmd.Parameters.Add("BLOB", OleDbType.Binary).Value = pReadByte;
  cmd.ExecuteNonQuery();
  return true;
  }
  catch (Exception ex)
  ...{
  MessageBox.Show("错误:因" + ex.Message + ",无法执行:" + SQL);
  return false;
  }
  finally
  ...{
  this.close();
  }
  }

  调用 getBlob

  String sqlStr = "select content from dp where id=" + ID;//content为dp中的BLOB字段,ID为主键
  MemoryStream ms = DBClass.getBlob(sqlStr);
  if (ms == null)
  richTextBox.Clear();
  else
  ...{
  if (ms.Length > 0)
  ...{
  ms.Position = 0;
  try
  ...{
  richTextBox.LoadFile(ms, RichTextBoxStreamType.RichText);
  }catch...{
  richTextBox.LoadFile(ms, RichTextBoxStreamType.PlainText);
  }
  }else
  richTextBox.Clear();
  }

  调用setBlob

  String sqlStr = "update dp set content=:BLOB where id=" + ID;
  MemoryStream ms = new MemoryStream();
  richTextBox.SaveFile(ms, RichTextBoxStreamType.RichText);
  if (!DBClass.SetBlob(sqlStr, ms))
  ...{
  MessageBox.Show("保存失败");
  }