当前位置:首页 » 网站技术 » C#

C#读写Binary实例代码

...

  本文给出一个用 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

  //以下是引用片段:

  //content为dp中的BLOB字段,ID为主键
  String sqlStr = "select content from dp where id=" + 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("保存失败");
  }

继续阅读
C#设计模式学习之一:开篇
C#设计模式学习之二:Singleton
C#设计模式学习之三:Abstract Factory
C#设计模式学习之四:Factory Method
C#读写文本文件代码
C#开发智能手机游戏-推箱子
C#编写的蜘蛛爬虫程序
C#远程连接SQL Server2005
C#和ASP.NET开发的一些小技巧及注意事项
发表评论

昵称:
最新评论
暂时没有评论!