用 C# 编程实现读写Binary文件

时间:2021-05-02

本文给出一个用 C# 编程实现读写Binary文件的方法,下面就是相关源代码:

以下是引用片段:   //返回blob数据   publicMemoryStreamgetBlob(stringSQL)   ...{   try   ...{   Db_Conn();   cmd=newOleDbCommand(SQL,Conn);   cmd.CommandType=CommandType.Text;//是sql   OleDbDataReaderRs=cmd.ExecuteReader();   if(Rs.Read())//循环到下一条记录   ...{   if(!(Rs.GetValue(0)isSystem.DBNull))   ...{   byte[]image_bytes=(byte[])Rs.GetValue(0);   MemoryStreamms=newMemoryStream(image_bytes);   returnms;   }   else   returnnull;   }   else   returnnull;   }   finally   ...{   this.close();   }   }   //设置blob   publicboolSetBlob(stringSQL,MemoryStreamMs)   ...{   try   ...{   Db_Conn();   cmd=newOleDbCommand(SQL,Conn);   cmd.CommandType=CommandType.Text;//是sql   intn=Convert.ToInt32(Ms.Length.ToString());   Ms.Position=0;   byte[]pReadByte=newByte[n];   Ms.Read(pReadByte,0,n);   cmd.Parameters.Add("BLOB",OleDbType.Binary).Value=pReadByte;   cmd.ExecuteNonQuery();   returntrue;   }   catch(Exceptionex)   ...{   MessageBox.Show("错误:因"+ex.Message+",无法执行:"+SQL);   returnfalse;   }   finally   ...{   this.close();   }   }

  调用 getBlob

以下是引用片段:   StringsqlStr="selectcontentfromdpwhereid="+ID;//content为dp中的BLOB字段,ID为主键   MemoryStreamms=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

以下是引用片段:   StringsqlStr="updatedpsetcontent=:BLOBwhereid="+ID;   MemoryStreamms=newMemoryStream();   richTextBox.SaveFile(ms,RichTextBoxStreamType.RichText);   if(!DBClass.SetBlob(sqlStr,ms))   ...{   MessageBox.Show("保存失败");   }

本文源自:翔宇亭——IT乐园(http://),转载请保留此信息!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章